场景:在公司的私有npm服务器上install了一个包,包名叫做qd-spm2,这个包是公司同事用es6语法编写的。

步骤:

  1. 首先npm install --save qd-spm2 
  2. 然后在main.js 里引入 import SpmFactory2 from 'qd-spm2';
  3. 最后在npm run dev的时候页面报错:

分析:报错信息明确提示,当前代码行不能被解析,也就是es6的语法不能被识别,分析原因应该是在dev编译node_modules依赖包的时候没能转译es6的语法。

解决:查看网上相关文档和解决方案都没能解决,最后在webpack.base.conf.js中找到这段代码:

在babel-loader执行过程中,包含了babel-loader需要编译的文件以及文件目录,在include中我们单独添加 resolve('node_modules/qd-spm2/index')的编译目录,再次运行npm run dev:

编译成功!

结论:根据代码编译过程,在resolve('node_modules/webpack-dev-server/client') 的时候并没有把我们新下载的依赖包包含进去,导致当前这个qd-spm2的包内部es6不能被识别,具体原因还在查阅中,有知道的小伙伴,随时留言,有不对的地方欢迎大家指正,谢谢!

 

Logo

前往低代码交流专区

更多推荐