​ 由于在Express框架中无法直接使用import来引入,只能通过require来引入,这是由于nodejs采用的是CommonJS的模块化规范,使用require引入模块;而import是ES6的模块化规范关键字。想要使用import,必须引入babel转义支持,通过babel进行编译,使其变成node的模块化代码。

安装babel依赖

npm install babel-cli -g
npm install babel-register babel-preset-env -D

修改package.json

将node ./bin/www改为babel-node app

修改package.json

修改app.js

在app.js文件最顶部加入require('babel-register');

修改app.js示例

因为第二步的时候已经将启动项./bin/www取消(./bin/www中定义了监听端口),我们需要在app.js中重新设置监听端口,顺便测试一下是否可以正常使用import导入

参照图片输入代码

//导入http模块
import http from 'http'

//创建服务
let server = http.createServer(app)

//设置监听端口
server.listen(3000, console.log("application is start at port 3000"))

代码示例

运行项目

#npm启动
npm start
#nodemon启动
nodemon start

运行示例

ok,启动成功

微信扫一扫体验微信小程序
Last modification:September 21, 2022
If you think my article is useful to you, please feel free to appreciate