其实Node.js也支持ES6的模块执行。不过需要配置一些信息,可以再node中写一个ES6 的模块,看一下node报错是什么?
// 第一个 文件test.js
export default function test_fun(){
console.log('tessssst');
}
// 同样的目录下test_main.js
import test_fun from "./test.js";
test_fun()
看出报错,提到了package.json,所以通过npm进行一个初始化生成这个json文件。(如果不了解npm,可以看前面的那篇文章:传送阵
npm init
然后看一下package.json文件内容:
{
"name": "test",
"version": "1.0.0",
"description": "test",
"main": "test_main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "小猪弟",
"license": "ISC"
}
报错的时候有提到报错信息:
- 在package.json中添加一个熟悉为type熟悉,设置其属性值为module.
这样修改,如果启动了ES6模块写法,就不可以用node模块的写法了,不然会报错
所以现在用第一种试一下:
{
"name": "test",
"version": "1.0.0",
"description": "test",
"main": "test_main.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "小猪弟",
"license": "ISC"
}
可以看出有可以执行,
再试一下,是否可以再用node导入模块的方法,修改为:
// 第一个 文件test.js
export default function test_fun(){
console.log('tessssst');
}
// 同样的目录下test_main.js
import test_fun from "./test.js";
test_fun()
可以看出如果修改为ES6模式,就不可以写nodejs的导入模块方式了。