18910140161

Devlopment和production模式打包结果不一致

顺晟科技

2021-06-19 08:04:32

322

集成Vditor编辑器时遇到一个很奇怪的问题:在开发阶段代码运行一切正常,用默认的development模式打包dist后也运行正常;但是一旦把参数调整成默认的production模式,打包出来的dist中大部分页面访问正常,但有一个包含Vditor编辑器的页面只有次访问正常,第二次访问的时候页面有部分加载异常,console控制台报“Uncaught (in promise) Error: runtime error: invalid memory address or nil pointer dereference”异常。


顺晟科技:

我也用cli自带的inspect命令把默认development、production的webpack配置导出来看了下,发现确实有很多地方的配置不一样,但不确定是哪一项导致的production异常

我没有设置额外的webpack或者vue参数,都是用的vue-cli默认的development和production模式打包,目前经过多轮测试可以确认development打包正常、production打包异常,猜测可能是vue-cli默认的development、production配置不一样导致的。

另外,应该如何把inspect命令导出的webpack配置修改后再导入回去?我试了在开头加上module.exports=…,但还是有部分“XXX Plugin没有定义”的报错。

后续有哪大侠分析出来了原因和解决方案麻烦在此回复一下。谢谢!

实在没辙了,不会配置webpack,一直都是用的cli自带的默认参数打包都挺正常的,但是在集成Vditor时就遇到了production和development不一致的问题,不知道问题在哪里,求大侠帮忙看看。

不过好一点的是,vite用development打包出来的结果也是混淆压缩优化过的,不像webpack打包出来的那么恶心混杂了很多注释和垃圾代码。对比了下vite用develop模式打包结果也就只比production模式大了50K左右,还行凑合用吧。

切换到vite测试结果同样的情况,development模式打包一切正常,production模式和webpack打包出来的一样报异常无法正常显示。混淆器无论换成terser还是esbuild都是如此,排除是混淆、压缩阶段导致的异常,应该是前期对js打包时就异常了,功力不够分析不出来具体原因。

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航