运行nodejs项目,npm start启动项目import报错,SyntaxError: Cannot use import statement outside a module

运行nodejs项目报错如下:

$ npm start                                                                                                                                                                  
                                                                                                                                                                             
> m-mall-admin@1.0.0 start D:\SoftwareAndProgram\program\weixin\miniprogram\mini-mall\mini-mall-admin                                                                        
> babel-node ./bin/www                                                                                                                                                       
                                                                                                                                                                             
(node:4488) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.                                                               
D:\SoftwareAndProgram\program\weixin\miniprogram\mini-mall\mini-mall-admin\bin\www:4                                                                                         
import app from '../app';                                                                                                                                                    
^^^^^^                                                                                                                                                                       
                                                                                                                                                                             
SyntaxError: Cannot use import statement outside a module                                                                                                                    
    at wrapSafe (internal/modules/cjs/loader.js:1043:16)                                                                                                                     
    at Module._compile (internal/modules/cjs/loader.js:1091:27)                                                                                                              
    at loader (D:\SoftwareAndProgram\program\weixin\miniprogram\mini-mall\mini-mall-admin\node_modules\babel-register\lib\node.js:146:5)                                     
    at Object.require.extensions.<computed> [as .js] (D:\SoftwareAndProgram\program\weixin\miniprogram\mini-mall\mini-mall-admin\node_modules\babel-register\lib\node.js:156:
7)                                                                                                                                                                           
    at Module.load (internal/modules/cjs/loader.js:976:32)                                                                                                                   
    at Function.Module._load (internal/modules/cjs/loader.js:884:14)                                                                                                         
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:67:12)                                                                                      
    at D:\SoftwareAndProgram\program\weixin\miniprogram\mini-mall\mini-mall-admin\node_modules\babel-cli\lib\_babel-node.js:151:24                                           
    at Object.<anonymous> (D:\SoftwareAndProgram\program\weixin\miniprogram\mini-mall\mini-mall-admin\node_modules\babel-cli\lib\_babel-node.js:152:7)                       
    at Module._compile (internal/modules/cjs/loader.js:1121:30)                                                                                                              
npm ERR! code ELIFECYCLE                                                                                                                                                     
npm ERR! errno 1                                                                                                                                                             
npm ERR! m-mall-admin@1.0.0 start: `babel-node ./bin/www`                                                                                                                    
npm ERR! Exit status 1                                                                                                                                                       
npm ERR!                                                                                                                                                                     
npm ERR! Failed at the m-mall-admin@1.0.0 start script.                                                                                                                      
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.                                                                           
                                                                                                                                                                             
npm ERR! A complete log of this run can be found in:                                                                                                                         
npm ERR!     C:\Users\lenovo\AppData\Roaming\npm-cache\_logs\2019-11-29T03_31_13_816Z-debug.log                                                                              
                                                                                                                                                                             
D:\SoftwareAndProgram\program\weixin\miniprogram\mini-mall\mini-mall-admin (master -> origin) (m-mall-admin@1.0.0)                                                           
$ node -v                                                                                                                                                                    
v13.2.0                                                                                                                                                                      
                                                                                                                                                                             
D:\SoftwareAndProgram\program\weixin\miniprogram\mini-mall\mini-mall-admin (master -> origin) (m-mall-admin@1.0.0)                                                           
$ npm -v                                                                                                                                                                     
6.13.1                                                                                                                                                                       
                                                                                                                                                                             

大概意思是nodejs不支持import语法,如果要支持,需要babel来支持。

babel的安装

所以我们来安装babel吧, 有了babel, 能够使用更多高级词法!

在项目根目录下,执行:

npm install --save babel-core
npm install --save babel-preset-env 或者 npm install --save babel-preset-es2015
npm install babel-cli -g

接着在项目根目录下创建一个名字为.babelrc的文件, 文件内容入如下( 要注意window系统下创建这种文件系统会提示你:“必须键入文件名” , 你可以找别的方式去创建, 我是在开发工具的工程目录中把这个文件创建出来的,也可以用cmder神器的vim命令):

 {
    "presets": [
      "es2015"
    ],
    "plugins": []
}

或者:

{                
    "presets": [ 
         "env"   
     ],          
    "plugins": []
}                

到目前为止babel算是安装完毕了。

接下来可以用npm startbabel-node app.js运行项目。
在这里插入图片描述

参考

用babel解决nodejs项目import报错,nodejs之使用babel支持es6和pm2下使用babel

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击云原生

众筹一元植发

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值