【问题标题】:babel-node gives import error when only when writing to filebabel-node 仅在写入文件时给出导入错误
【发布时间】:2017-09-08 10:42:15
【问题描述】:

整个练习的目的是在浏览器中运行 ES2015 javascript。我有这样的测试设置:

foo.js:

export class Foo {}

main.js:

import {Foo} from './foo';
console.log('ready')

最后我还有一个.babelrc 文件:

{
    "presets": [
        "es2015",
        "stage-0"
    ]
}

这段代码运行良好

$> ./node_modules/.bin/babel-node main.js
ready

第一步(如果我错了,请纠正我)是将其从 ES2015 转换为 ES5

$> ./node_modules/.bin/babel-node main.js -o main-es5.js
/Users/dev/test/main.js:1
(function (exports, require, module, __filename, __dirname) { import {Foo} from './foo'; 
                                                              ^^^^^^
SyntaxError: Unexpected token import

为了完整起见,我的最后一步是

$> ./node_modules/.bin/browserify main-es5.js bundle.js

任何关于此事的帮助将不胜感激

【问题讨论】:

标签: javascript node.js ecmascript-6 babeljs transpiler


【解决方案1】:

babel-node 只是一个预编译输入源的交互式 repl。

要编译 es6 并发出 es5,请执行以下操作:

babel main.js > main-es5.js

顺便说一句,您还需要export foo.js 中的类以使其在main.js 中可用。在您的示例中,Foo 未定义。

【讨论】:

    猜你喜欢
    • 2018-05-01
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 2023-03-11
    • 1970-01-01
    • 2018-02-10
    相关资源
    最近更新 更多