项目中使用了mars3d开发gis相关功能,打包时发现耗时过长(大约需要十几分钟),查看终端输出
解决引入mars3d后,webpack打包过慢的问题 - 图1
从终端输出中可以看出,babel提示mars3d.js 文件过大,此时问题已经比较清楚了,由于公司内网无法使用npm上的mars3d资源,所以采用的将源文件下载到项目中的方式加载mars3d,默认的babel配置不会编译node_modules中的资源,但是采用当前的方式,mars3d则会进入babel的编译流程,所以导致打包速度过慢。

解决方案:

由于下载mars3d.js的资源是官方提供的编译后的文件,所以本身也不需要babel进行编译,所以将mar3d相关资源排除babel的构建过程就能够解决问题。所以直接找到babel的配置文件,我们项目中是 babel.config.js。添加如下代码

  1. ignore: [
  2. './src/assets/mars3d'
  3. ]

重新执行打包命令,问题解决