【发布时间】:2020-03-02 15:25:24
【问题描述】:
我使用 ES6 语法创建了一个项目。
我正在使用 Babel 将 ES6 语法 JavaScript 文件编译为 Node.js 可以运行的版本。
但是,当我尝试使用 node lib/index.js 执行我认为由 babel 编译的文件 (index.js) 时。我收到以下错误:SyntaxError: Unexpected token export。
我运行以下command to compile 我的项目:./node_modules/.bin/babel src -d lib。 src 包含我用 ES6 编写的所有文件。
成功编译目录,提示:Successfully compiled 15 files with Babel.
所以,我不确定为什么我无法运行已编译的文件。这也是我第一次使用 babel,所以我可能错过了一些东西。
我有以下我认为对 babel 很重要的文件:
.babelrc
{
"presets": ["@babel/preset-env"]
}
package.json - 开发依赖
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.8.6",
"@babel/polyfill": "^7.8.3",
"@babel/preset-env": "^7.8.6",
"@babel/register": "^7.8.6",
"babel-loader": "^8.0.6"
}
详细的错误信息:
/Users/c/Projects/Project1/src/credentials.js:10
export default Credentials;
^^^^^^
SyntaxError: Unexpected token export
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/Users/c/Projects/Project1/lib/index.js:3:53)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
它看起来像在 lib/index.js 中,它使用以下行引用 ES6 文件:
var _credentials = _interopRequireDefault(require("../src/credentials"));。
【问题讨论】:
标签: javascript node.js ecmascript-6 babeljs