【发布时间】:2016-08-22 10:04:18
【问题描述】:
我正在使用节点 v6.0.0 并想使用 ES2016 (ES6)。但是我意识到“导入”语法不起作用。 “导入”不是在 ES2015 中编写模块化代码的基础吗?我也尝试使用--harmony_modules 选项运行节点,但仍然遇到关于“导入”的相同错误。这是代码。
没有“导入”的工作代码:
'use strict';
let sum = 0;
class Number {
addNumber(num1, num2) {
return num1 + num2;
}
}
let numberObj = new Number();
sum = numberObj.addNumber(1,2);
console.log("sum of two number 1 and 2 "+ sum);
“导入”代码无效:
server.js
'use strict';
import Number from "./Number";
let sum = 0;
let numberObj = new Number();
sum = numberObj.addNumber(1,2);
console.log("sum of two number 1 and 2 "+ sum);
数字.js
'use strict';
export default class Number {
addNumber(num1, num2) {
return num1 + num2;
}
}
我还检查了http://node.green/ 以查看支持的 es6,但无法理解为什么它不能与 --harmony_modules 选项一起使用。请帮忙。
【问题讨论】:
-
一起使用Webpack Babel loader
-
在 v6 中你不应该需要 babel 或 webpack
-
另请参阅 2016 年 9 月的 this blog post,解释在 node.js 中实现 ES6
import的挑战。看来我们距离 ES6 模块在 node 中发布还有很长的路要走。
标签: javascript node.js ecmascript-6 es6-modules