在新搭建的基于node.js的express框架时,不能直接使用import/export,否则会报错如下:
SyntaxError: Cannot use import statement outside a module
这是由于目前NodeJs还不支持 import/export
,所以要安装babel依赖
(1)安装babel依赖
npm install babel-plugin-transform-class-properties babel-plugin-transform-decorators-legacy babel-plugin-transform-export-extensions babel-plugin-transform-object-rest-spread babel-preset-env --save-dev
(2)修改package.json
将node ./bin/www改为babel-node app
(3)修改app.js
在app.js文件最顶部加入require('babel-register');
因为第二步的时候已经将启动项./bin/www取消(./bin/www中定义了监听端口),我们需要在app.js中重新设置监听端口
app.listen(3000, console.log("application is start at port 3000"))
(4)添加.babelrc文件
{
"presets": [
[
"env",
{
"targets": {
"node": "current"
}
}
]
],
"plugins": [ "transform-decorators-legacy" ]
}
(5)启动项目
在app.js中加入import,测试是否启动正常
npm start
浏览器中直接打开,访问如下:
参考:https://blog.csdn.net/zwkkkk1/article/details/81564971
如还有错,可用方法二:https://blog.csdn.net/qq_21275565/article/details/108738382