vue修改node_modules打补丁步骤和注意事项_node_modules 打补丁(1)

计算机网络

  • HTTP 缓存

  • 你知道 302 状态码是什么嘛?你平时浏览网页的过程中遇到过哪些 302 的场景?

  • HTTP 常用的请求方式,区别和用途?

  • HTTPS 是什么?具体流程

  • 三次握手和四次挥手

  • 你对 TCP 滑动窗口有了解嘛?

  • WebSocket与Ajax的区别

  • 了解 WebSocket 嘛?

  • HTTP 如何实现长连接?在什么时候会超时?

  • TCP 如何保证有效传输及拥塞控制原理。

  • TCP 协议怎么保证可靠的,UDP 为什么不可靠?

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

算法

  • 链表

  • 字符串

  • 数组问题

  • 二叉树

  • 排序算法

  • 二分查找

  • 动态规划

  • BFS

  • DFS

  • 回溯算法

package.json的scripts中声明了一系列的npm脚本命令,如下:(参考资料:http://caibaojian.com/npm/misc/scripts.html

  • prepublish: 在包发布之前运行,也会在npm install安装到本地时运行
  • publish,postpublish: 包被发布之后运行
  • preinstall: 包被安装前运行
  • install,postinstall: 包被安装后运行
  • preuninstall,uninstall: 包被卸载前运行
  • postuninstall: 包被卸载后运行
  • preversion: bump包版本前运行
  • postversion: bump包版本后运行
  • pretest,test,posttest: 通过npm test命令运行
  • prestop,stop,poststop: 通过npm stop命令运行
  • prestart,start,poststart: 通过npm start命令运行
  • prerestart,restart,postrestart: 通过npm restart运行

可以看到依赖包在安装完之后会执行postinstall命令

所以我们在package.json的scripts里面增加:"postinstall": "patch-package"

"scripts": {
    ***,
+   "postinstall": "patch-package"
}

修改 package.json,新增命令 “postinstall”: “patch-package”,如图:

Step3.执行命令 npx patch-package 修改的文件夹名字 此处文件夹名字指 node_modules 中下的文件夹名。

比如如:npx patch-package pdfjs-dist 这里的 pdfjs-dist 就是我们修改的文件的主文件夹名。

Step4.生成补丁 命令执行结束后查看根目录下是否生成了 patches 文件夹,patches文件夹是自动生成的,如图:

Step5.npm install 验证 在项目里 npm install 验证,是否有补丁包的提示,有就表示打补丁成功!

注意事项1:

1、自动部署中不生效
报错信息
npm WARN lifecycle nuxt-base-pc@1.0.0~postinstall: cannot run in wd nuxt-base-pc@1.0.0 patch-package (wd=/data/servers/jenkins/workspace/nginx)
解决办法
在项目根目录添加.npmrc 文件,写入:
unsafe-perm = true

注意事项2:
  1. patch是锁定版本号的,如果升级了版本,patch内容将会失效,最好在package.json能够锁定版本号。
  2. 魔改的同时,也局限了升级的能力,尽量还是去提issue和PR。

计算机网络

  • HTTP 缓存

  • 你知道 302 状态码是什么嘛?你平时浏览网页的过程中遇到过哪些 302 的场景?

  • HTTP 常用的请求方式,区别和用途?

  • HTTPS 是什么?具体流程

  • 三次握手和四次挥手

  • 你对 TCP 滑动窗口有了解嘛?

  • WebSocket与Ajax的区别

  • 了解 WebSocket 嘛?

  • HTTP 如何实现长连接?在什么时候会超时?

  • TCP 如何保证有效传输及拥塞控制原理。

  • TCP 协议怎么保证可靠的,UDP 为什么不可靠?

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

算法

  • 链表

  • 字符串

  • 数组问题

  • 二叉树

  • 排序算法

  • 二分查找

  • 动态规划

  • BFS

  • DFS

  • 回溯算法

  • 21
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 不建议直接修改node_modules文件,因为这会影响到整个项目的稳定性和可维护性。如果需要修改某个依赖包的代码,可以通过以下方式进行: 1. 在项目的package.json文件中,找到需要修改的依赖包,将其版本号改为本地修改后的版本号,然后执行npm install命令,重新安装依赖包。 2. 将需要修改的依赖包下载到本地,进行修改后,再将其发布到npm仓库,然后在项目中使用新版本的依赖包。 3. 如果需要修改的依赖包是自己开发的,可以将其作为本地模块引入到项目中,然后进行修改。 ### 回答2: Vue作为前端框架的一种,依赖于Node.js实现项目构建、打包、运行等功能。因此,Vue的管理及配置文件都存在于node_modules文件夹下。但是,由于Vue项目的个性化开发需求,需要修改其中的某些文件。那么,如何修改node_modules文件夹下的文件呢?方法如下: 1. 首先,需要找到要修改的文件所在的路径。例如,要修改的文件是bootstrap-vue的nav.vue文件,则该文件存放路径为“node_modules/bootstrap-vue/src/components/nav/nav.vue”。 2. 在修改之前,需要备份该文件。将原文件复制一份,命名为nav-backup.vue,作为备份文件存放在src文件夹中。 3. 然后,进入node_modules/bootstrap-vue文件夹,在该文件夹下打开命令行窗口。 4. 在命令行窗口中输入“npm install cnpm -g”,等待安装完成。 5. 然后,输入“cnpm install”命令,等待依赖安装完成。 6. 安装完成之后,进行修改,并保存修改。例如,在nav.vue文件中,将template中的一个div修改为p,则保存修改后的nav.vue文件。 7. 将备份文件nav-backup.vue文件复制到src/components/nav/下,以避免node_modules的内容被Vue官方升级覆盖。 8. 最后,运行“npm run build”进行打包,查看是否存在修改。如果修改成功,则在打包后的项目中体现出来。 总之,修改node_modules文件需要一定的技术实力和经验,需要谨慎操作。同时,也要注意备份原文件,以便避免操作失误而导致的后果。 ### 回答3: Vue是现在非常流行的前端框架,而node_modules则是Vue中一个重要的文件夹,它包含了大量的依赖模块以及插件,并且是Vue的核心文件夹之一。在Vue项目中,如果我们需要对这个文件夹进行修改,则需要进行一定的操作。 首先,我们需要了解node_modules是一个由npm管理的文件夹,里面包含了我们项目中所使用的各种依赖。如果我们需要修改这些依赖的话,那么我们需要更新package.json文件中的对应依赖版本号,然后再使用npm install命令重新安装这些依赖。这样就可以更新node_modules文件夹中的内容。 但是,有时候我们需要对某个依赖进行一些特殊的修改,而这种修改并不一定能够通过版本号的更新来实现。在这种情况下,我们可以手动对node_modules文件夹进行修改。 首先,我们需要先确定需要修改的依赖所在的文件夹路径。然后,在终端中输入cd命令进入该文件夹路径,即可进入该依赖的文件夹。在该文件夹中,我们可以对其中的文件进行修改,比如添加或删除某个功能等。 需要注意的是,在手动修改node_modules文件夹时,应该非常谨慎。首先,我们需要备份原始文件,以防止在修改过程中误删或误修改导致项目无法正常运行。其次,我们还需要注意,手动修改依赖可能会改变依赖的行为,进而导致项目运行出现错误或者安全性问题等。所以,在修改node_modules文件夹前,一定要考虑清楚,尽量使用npm来更新依赖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值