vue打包发布后提示ReferenceError: exports is not defined

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue打包发布后提示ReferenceError: exports is not defined相关的知识,希望对你有一定的参考价值。

参考技术A 在项目中使用了three.js,three.js支持commonJs写法,导致发布后提示 ReferenceError: exports is not defined

解决办法:

vue-cli3 打包优化

参考技术A 当项目较大时往往会出现打包之后首屏加载时间较长,这样会导致用户体验较差,因此可以开启gzip压缩功能

1)如果是vue2.x,在vue项目中安装依赖并将config.js中的productionGzip改为true,开启Gzip压缩,npm install --save-dev compression-webpack-plugin

运行npm run build 打包项目,这时如果有提示报错ValidationError: Compression Plugin Invalid Options,则需要将build中的webpack.prod.conf.js中CompressionWebpackPlugin的设置由asset改为

filename,如图所示

再次运行npm run build打包,如果还有报错,提示TypeError: Cannot readproperty 'emit' of undefined。据我查证,是安装的compression-webpack-plugin依赖有问题,需要卸载compression-webpack-plugin更改安装低版本:npm install --save-dev compression-webpack-plugin@1.1.2

最后再次打包

当发现打包文件中有很多.gz的文件时即是打包成功,最后后端服务器开启gzip配置就愉快的配置完成,再次打开地址后会发现首屏速度快了很多

2)  如果是vue-cli3的项目,在开启gzip时会稍有区别,在vue.config.js 中配置,先安装依赖cnpm i -D compression-webpack-plugin

    

以上是关于vue打包发布后提示ReferenceError: exports is not defined的主要内容,如果未能解决你的问题,请参考以下文章

Uncaught ReferenceError: Vue is not defined

uni-app的Vue项目中Echarts的报错提示:[Vue warn]: Error in data(): “ReferenceError: echarts is not defined“

vue 打包上线后出现的问题

SpringBoot Vue 项目修改vue后重新打包无效?

vue打包后报错TypeError: Cannot read property ‘call’ of undefined解决方法 - 2021-09-18

VuePress在build打包时window document is not defined