运行 Babel 应用程序时出错

Errors when running Babel application

我目前对Babel的测试很简单

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

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

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

时有效

我认为 require 钩子应该允许 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"
  }

关于Babel require hook的具体文档,请看here

安装:

$ npm install babel-register

用法:

require("babel-register");

请注意,require('babel/register') 不会转译调用它的文件。如果你想 app.js 被包含在即时转译中,你应该用 babel-node 执行它(Babel 的 CLI replacement for node)。

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

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

并在 app.js 以及那里需要的所有内容中使用 ES6。