我目前对巴别塔的测试很简单。
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"
}
答案 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来执行节点)。