vue项目打包采坑

时间:2021-02-17 03:52:36

1. vue项目打包采坑

1.1. vue运行报错error:Cannot assign to read only property 'exports' of object '#'

  • 这个错误我是在打包完部署到nginx上才会报的,在本地环境可以正常运行,真坑;
  • 网上的资料说的报错原因是export和import不兼容啥的,经过我实际测试修改,问题出在使用export导出方法的js中,import了里面包含module.exports的js,这是两种不同的表达式,作用相同,但不能一起存在;网上的方法大多是加各种插件,像这位仁兄的,等等我就不一一列举了,反正到我这都没用
  • 这里着重说一句,我的vue项目是基于vue-admin-template改写的,然后有些代码移植了一些以前的h5,在我看来这个问题应该很多人都会遇到,但网上的解决方法要不没用,要不不清不楚,点出了export和import的问题,却没相应的例子

1.2. 解决

  • 我的解决办法是找到冲突的地方,并用统一的版本改写,实际上就是找自己引入的那些js就行了,找到用了module.exports的地方,参考这篇文章改写,直接导出相应模块,当然对新手来讲这篇文章也还是不够友好,因为多个表达式导出的形式引用往往是一个对象.一个方法,这里导入的形式可以改成import * as md5 from './md5',这样的形式,之后使用md5.encode()等等就行了,改动的地方会比较少

1.3. 后记

  • 我学习vue还没有多久,特别对第三方组件和各版本间的区别都不甚了解,如有错误还望指正,有更好的解决办法也请指点下