示例问题代码
// test.js文件
const message = 'test message';
export { message };
// main.js文件
import { message } from './test.js';
console.log(message);
// 当前目录下终端执行 node main.js 后报错
(node:123) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
/Users/...node/main.js:1
import { message } from './test.js';
^^^^^^
SyntaxError: Cannot use import statement outside a module
......
......
问题原因:
一般是Node中无法使用import/export关键字
解决办法:
目前比较新的node版本都会有warning提示:
Warning: To load an ES module, set “type”: “module” in the package.json or use the .mjs extension.
- 解法一:.js文件扩展名更改为.mjs
- 解法二:package.json文件中添加type: ‘module’