如何修改node_module的工程依赖

文章讲述了在node-red项目中设置自动重启流程的步骤,包括通过修改red.js文件,使用patch-package创建包的补丁,以及使用uglify-js压缩文件以确保修改在min.js中生效。最终实现了每半小时自动调用服务以保持数据连接稳定。
摘要由CSDN通过智能技术生成

在node-red项目中有个自动重启流程的需求。用户不想手动点击重启流程,希望半小时自动调服务,以保证数据连接稳定,如图

 

 开始:

拿到项目之后挺无奈的,工程解构很简洁,无从下手

 入口red.js文件,从package.json入手

进入node包中,发现略微有些复杂,工程依赖中引用别的依赖

 定位到red.js中时,从页面定位到重启流程的id节点,debugger等等一系列定位,最终在初始化中写下定时器,随后重启服务,发现根本不生效,随后一波问候chatgpt,如何更改node_module中依赖包,发现使用‘patch-package’这个工具可以对包进行补丁操作,

下载  patch-package

npm install patch-package --save-dev

然后在工程目录中添加到脚本命令

"scripts": {
  "postinstall": "patch-package"
}

随后对修改的文件生成补丁,我这边是单个文件,也可以批量

npx patch-package <package-name>

npx patch-package @node-red/editor-client (因为用的压缩包,所以等压缩完之后再用这步生成补丁,如果node_module不是用的压缩包则直接执行这步,忽略后续)
 

我这边直接对包依赖进行补丁,(注意,包中依赖无法用public/xxx.js文件进行补丁,需要对子依赖中的依赖包进行补丁)

 随后,发现这个文件用min.js压缩形式生效,我们将修改的js文件再压缩即可。

这里我们使用uglifyjs 工具,

全局安装工具

npm install uglify-js -g

随后将目标文件压缩为min文件即可

uglifyjs xxx.js -o xxx.min.js

 写了个2s自动调用看看效果,大功告成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值