nodejs使用import报错

node.js javascript xue8 8天前 6次浏览



nodejs使用import报错:


导出模块:


//D:/workspace/www/hello-world/src/data/articles.js

const articles = [
{"title": "title1","content": "content1"},
{"title": "title2","content": "content2"},
{"title": "title3","content": "content3"}]

export default articles;

导入模块:


//D:/workspace/www/nodejs_scripts/test.js

import articles from \'D:/workspace/www/hello-world/src/data/articles\';

console.log(articles);

在命令行中运行test.js,报错:


D:\\workspace\\www\
odejs_scripts
λ node -v
v12.11.1

D:\\workspace\\www\
odejs_scripts
λ node test.js
D:\\workspace\\www\
odejs_scripts\\test.js:3
import articles from \'D:/workspace/www/hello-world/src/data/articles\';
^^^^^^

SyntaxError: Cannot use import statement outside a module
at Module._compile (internal/modules/cjs/loader.js:881:18)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:962:10)
at Module.load (internal/modules/cjs/loader.js:798:32)
at Function.Module._load (internal/modules/cjs/loader.js:711:12)
at Function.Module.runMain (internal/modules/cjs/loader.js:1014:10)
at internal/main/run_main_module.js:17:11

应该怎么做呢?





回答:


需要在运行 node 时加 --experimentabl-modules 参数,并且扩展名是 mjs ,或者在 package.json 里相应设置,才可以在 node 里使用 ES module 。


详见文档



0条回复
撰写答案