我正在开发vue.js前端,我需要打补丁以适应应用程序的特殊需求。我要修补的软件包为'vue-youtube
'(不是很重要)。我正在尝试使用补丁包(https://www.npmjs.com/package/patch-package)修补它
所以基本上:
/node_modules/vue-youtube/src/vue-youtube.js
以适应我的需求"scripts": { "postinstall": "patch-package" }
npm install patch-package --save-dev
npx patch-package vue-youtube
vue-youtube+1.4.0.patch
文件夹中创建了/patches
文件 但,看不到我的修改。当我执行npm run serve
并启动我的Web应用程序时,使用的软件包仍然是未编辑的软件包。我之前尝试运行npm install
,但没有成功。当我转到/node_modules/vue-youtube/dist/vue-youtube.js
时(很幸运,它是一个小包装,可以读取),可以看到确实没有对我的修改内容进行“ 编译”。
我在这里想念什么?我觉得我已经在补丁包npm页面中进行了学习。
谢谢
编辑:仍在调查..更多信息/问题:
patches/vue-youtube+1.4.0.patch
npm ls vue-youtube
时,它仅返回一个元素:vue-youtube@1.4.0
package.json
中列出的依存关系是"vue-youtube": "^1.4.0"
,应该不同吗?应该提到需要修补吗? 编辑2:观看了一个成功修补软件包的家伙的视频后,我意识到我不是在编辑node_modules/vue-youtube/dist/vue-youtube.js
,而是在编辑node_modules/vue-youtube/src/vue-youtube
。我以某种方式认为,修补后,源文件将被webpack重新编译到dist文件夹中。我在这里错了吗?我需要直接编辑/ dist /文件吗?
答案 0 :(得分:2)
工作解决方案:
如果您直接在包的 Not at this location: "http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz"
Trying 'http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.xz'
文件夹而不是 dist/
文件夹中编辑文件,则补丁可以正常工作。