首先需要明白的是,Node.js默认不支持ES6模块,而是支持CommonJS模块。因此,要运行ES6模块需要做一些配置。
配置步骤
1.先安装Node.js 14版本以上
Node.js 14版本以上才能支持ES6模块。可以通过以下指令查看当前安装版本:
node -v
如果不符合要求,需要升级至14版本以上。
2.在package.json中设置type字段
在项目根目录下的package.json文件中,设置"module"字段的值为"es2020"。这样Node.js启动时就会把项目中的文件当做ES6模块进行解析。
{
"type": "module",
"main": "app.js"
}
3.修改文件后缀名
将ES6模块的后缀名从.js改为.mjs。这是ES6模块的约定后缀名。如果不改,Node.js会认为是CommonJS模块,无法正确解析。
示例
以一个简单的ES6模块为例:“greeting.mjs”
export function sayHello(name) {
console.log(`Hello, ${name}!`);
}
export function sayBye(name) {
console.log(`Goodbye, ${name}!`);
}
另一个ES6模块:app.mjs
import { sayHello, sayBye } from './greeting.mjs';
sayHello('Kobe');
sayBye('Kobe');
执行以下命令即可运行app.mjs
node app.mjs
总结
配置好环境后,Node.js会自动将所有.mjs文件当作ES6模块进行解析。除此之外,还可以通过第三方库来解析ES6模块,比如Babel。但是,由于Node.js现在已经支持ES6模块,推荐使用Node.js本身的支持方式来运行ES6模块文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何让node运行es6模块文件及其原理详解 - Python技术站