1、上篇文档的包补丁在本地使用没有问题,并且同事拉代码后也会自动同步npm_modules,也没有问题
2、问题出现在打包上,我这边的项目是用teambition上的飞流设置的流水线来进行打包的,里面用到了两个指令
yarn install
npm run build:stage
也就是说,在每次执行打包都会进行上面的两个指令,当然在流水线中yarn install可以删掉,但为了保证每次的npm包功能完整,就没有去掉,缺陷一便出现在这
缺陷一:每次yarn install 之后会自动修改npm补丁,在我们yarn install 之后再进行yarn install ,我们的cmd或者代码编辑工具时会出现警告,告诉我们已经进行根据过补丁进行包的更新,不需要再次进行补丁更新代码,但是在流水线中会直接报错,
流水线上的体现形式:
代码编辑器上的体现形式:
在第二次yarn install后,编辑器出现的仅仅是对补丁内容的警告,并未阻止程序运行,但是流水线上直接出错(暂时没有找到解决办法,有懂的可以私我),因此补丁的方式在流水线上行不通,除非是个人打包给前端leader,然后运维部署
缺陷二:上诉我们说的第二次流水线打包会报错,第一次打包其实也有问题,在补丁修正后,流水线打包出来的东西,仍然是没有进行补丁修正的内容(本人改的是viewerjs包下面的所有dist中的js文件),
这几个文件都进行了更改,但是流水线打包的仍然没有效果。
问题解决:实在没有办法,就直接把viewerjs于v-viewer的源码都进行了下载,然后放到文件src下引用。v-viewer的源码需要去官网或者github上下载(并非dist文件而是src文件),npm上没有源码,只有打包后的代码,最终才解决了下载的问题。