【问题标题】:babel-node cannot find module - interpreting presets options as a filename?babel-node 找不到模块 - 将预设选项解释为文件名?
【发布时间】:2016-04-14 18:40:19
【问题描述】:

我正在调用这个命令:

$ babel-node --presets react,es2015 server.js

但是我没有运行 node 并使用带有 react 和 es2015 预设的 Babel,我得到了这个错误:

 Cannot find module 'C:\websites\rgrjs\react,es2015'
    at Function.Module._resolveFilename (module.js:326:15)
    at Function.Module._load (module.js:277:25)
    at Function.Module.runMain (module.js:430:10)
    at Object.<anonymous> (C:\Users\Tom\AppData\Roaming\npm\node_modules\babel\lib\_babel-node.js:144:25)
    at Module._compile (module.js:398:26)
    at Object.Module._extensions..js (module.js:405:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Function.Module.runMain (module.js:430:10)
    at startup (node.js:141:18)

这似乎表明节点将react,es2015 参数解释为文件而不是预设选项的参数?我该如何解决?

Babel documentation for babel-node 似乎使用与上述相同的语法?我尝试在文件名前添加--,但这没有帮助。

我对 React 和 Node 还很陌生,目前正在学习一门课程,如果这是显而易见的事情,我深表歉意。

这些是我的 package.json 文件中的依赖项:

  "dependencies": {
    "babel": "^6.3.26",
    "babel-cli": "^6.4.0",
    "babel-core": "^6.4.0",
    "babel-loader": "^6.2.1",
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-react": "^6.3.13",
    "express": "^4.13.3",
    "react": "^0.14.3",
    "react-dom": "^0.14.3",
    "webpack": "^1.12.9"
  },

编辑 除了公认的答案外,这个问题也可能是因为我的 babel 全局版本与项目版本不同,并且我不了解哪个节点正在使用。

【问题讨论】:

    标签: node.js reactjs babeljs


    【解决方案1】:

    您是否尝试过用空格分隔预设,而不是使用, 分隔预设?

    $ babel-node --presets react es2015 server.js
    

    还是改用.babelrc

    {
        "presets": ["react", "es2015"]
    }
    

    【讨论】:

    • 我曾尝试使用空格,但没有成功。 .babelrc 对我来说是新的,我会阅读它。
    • 非常感谢,我添加了 .babelrc 文件,这似乎解决了预设问题。我说“似乎”,因为我也做了很多 Babel 的安装和卸载来尝试修复这个问题,所以对于其他看到这个的人来说,这个问题也可能是因为我的全球版本的 babel 与项目版本,我不明白哪个节点正在使用。
    猜你喜欢
    • 1970-01-01
    • 2022-08-14
    • 1970-01-01
    • 2021-10-03
    • 2021-09-10
    • 2019-02-03
    • 1970-01-01
    • 2021-03-03
    • 2021-11-26
    相关资源
    最近更新 更多