这个错误提示是出现在使用ES模块时,但是没有指定项目为ES模块的情况下所出现的。
ES模块需要指定在package.json文件中指定type字段为module或使用.mjs文件扩展名。下面是两个示例:
示例一:使用package.json配置
在package.json文件中添加type为module字段即可:
{
"type": "module"
}
示例二:使用.mjs文件扩展名
也可以使用.mjs文件扩展名,需要把需要引入的模块文件改名为.mjs格式。例如:
// index.mjs
import { myFunc } from './myModule.mjs';
myFunc();
// myModule.mjs
export function myFunc() {
console.log('This is my function!');
}
需要注意的是,使用.mjs文件扩展名时,使用import/export语法必须换成使用require/module.exports语法。除此之外,使用.mjs文件扩展名还有以下需要注意的点:
- 入口文件不能是.mjs格式的文件。如果需要使用.mjs文件扩展名,可以在入口文件中使用require/import命令来加载模块;
- CommonJS模块无法加载.mjs格式的文件;
- 无法同时加载CommonJS模块和ES模块,因为它们的运行环境不同;
总之,要想运行ES模块代码,则需要进行正确的配置,指定项目为ES模块或使用.mjs文件扩展名。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js代码运行报错Warning:To load an ES module, set “type”:”module”in the package.json or use the .mjs - Python技术站