问题
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、最终解决方案:


本文详细讲述了在使用OpenLayers和Turf库时遇到打包错误,通过排查terser-webpack-plugin、排除文件、源码分析和Vue配置调整,最终解决了打包时出现的UnknownGeometryType问题。作者分享了具体操作步骤和发现的内嵌Terser插件冲突问题。

被折叠的 条评论
为什么被折叠?



