运行Babel应用程序时出现错误

时间:2015-12-27 06:17:29

标签: javascript node.js ecmascript-6 babeljs

我目前对巴别塔的测试很简单。

require("babel-core/register");
import Twitter from "twitter";

我收到错误SyntaxError: Unexpected token import,表示我没有让Babel正常工作。

运行node index.js时,它不起作用。它在运行babel-node index.js

时确实有效

我认为require hook应该允许ES6随时工作。如果它仅在使用babel-node时有效,有人可以解释原因吗?谢谢!

我的.babelrc文件是

{
  "presets": [
    "es2015"
  ]
}

我的package.json中的依赖项是

"dependencies": {
    "babel-cli": "^6.3.17",
    "babel-core": "^6.3.26",
    "babel-preset-es2015": "^6.3.13",
    "babel-register": "^6.3.13",
    "twitter": "^1.2.5"
  }

2 个答案:

答案 0 :(得分:3)

babel-register不会更改当前文件,但会更改所有后续所需文件。这意味着你可以这样做:

require('babel-core/register');
require('./app.js');

app.js中使用ES6以及从那里获得的所有内容。

答案 1 :(得分:1)

有关Babel require hook的具体文档,请参阅here

安装:

$ npm install babel-register

用法:

require("babel-register");

请注意 require(' babel / register')不会传输调用它的文件。如果您希望app.js包含在动态转换中,您应该使用 babel-node (Babel' s CLI replacement来执行节点)。