问题
openlayers和turf一起使用打包后运行报错Unknown Geometry Type
解决
1、初步怀疑是打包的问题,然后在项目中引入了terser-webpack-plugin插件,然后修改vue-config.js文件:
注:这里的exclude中的值可以是正则也可以是字符串,对应的是最后打包的块,而不仅仅是文件名,我这里之所以直接写的ol和turf,是因为我做了块切割:
2、按如上步骤写完,重新打包生产环境,发现还是不行,我查阅terser-webpack-plugin源码,加了两行打印语句,输出的是false,好像ol..js和turf..js都是false。
但是,打包完我在dist文件家中发现最终还是压缩丑陋化了:
3、最后通过输出output.js查看打包信息:
发现在minimizer中有两个options,第一个中的exclude为undefined。
原来vue-cli已经内嵌了一个terser,相当于new了两遍terser-webpack-plugin
4、最终解决方案: