节点 - 意外标识符

时间:2018-06-11 08:02:27

标签: node.js ecmascript-6 functional-programming

我正在尝试使用Node和一些ES6 /功能的东西 这是两个文件 的 dog.js

const dog = () => {
    return {
        test: (arg) => console.log("dog say: " + arg)
    }
}

export default dog;

1.js

import dog from './dog';

const d = dog()
d.test('111');

节点版本 - 10.4.0(节点设置正常)
当我正在运行node 1.js时 - 收到错误 Unexpected identifier ,指向狗。这有什么不对?

P.S。 1.js已更新以正确使用导入的功能,但即使在此之后我仍然会收到错误。

1 个答案:

答案 0 :(得分:2)

您的代码有效,它记录:

  狗说:111

但是,ECMAScript模块在节点v10.4.0中为Experimental

您需要使用--experimental-modules标志/选项运行节点。例如

node --experimental-modules 1.js 

另请参阅有关模块文件的.mjs扩展名的说明。因此,您可能需要将1.js更改为:

// Note the .mjs extension
import dog from './dog.mjs';

const d = dog()
d.test('111');