我的mymodule.js中有一个ES6模块
export default function () {
console.log('hello world');
}
在app.js中,我导入了模块
import mymodule from 'mymodule'; //also tried './mymodule' and './mymodule.js'
mymodule();
从命令行执行
node app.js
要么
node --experimental-modules app.js
错误信息
import mymodule from 'mymodule';
^^^^^^^^
SyntaxError: Unexpected identifier
at Module._compile (internal/modules/cjs/loader.js:703:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
at Module.load (internal/modules/cjs/loader.js:628:32)
at Function.Module._load (internal/modules/cjs/loader.js:555:12)
at internal/modules/esm/translators.js:84:15
at Object.meta.done (internal/modules/esm/create_dynamic_module.js:40:9)
at file:///home/a/code/marionette/test_area/app.js:9:13
at ModuleJob.run (internal/modules/esm/module_job.js:111:37)
at processTicksAndRejections (internal/process/task_queues.js:88:5)
at process.runNextTicks [as _tickCallback] (internal/process/task_queues.js:58:3)
版本号
node --version
v12.0.0
npm --version
6.9.0
其他
题
使用node和ES6,如何将ES6模块导入命令行JavaScript程序?
根据Pointy的评论,我进行了这些更改
更改为导入到
import mymodule from './mymodule.mjs'
在package.json中添加了顶级字段
"type": "module",
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句