npm使用记录三
1.更新包
通常,我们使用npm update命令更新一个包。那如果要同时更新所有的包呢?就要使用ncu命令了。
1 | ## 查询那些包过期了,前提是能连接到npm住服务器,我到是不行的,尝试了很多次,都不行,连接不到npm服务器 |
1.npm 依赖包的安装、更新、删除 (使用npm-check-updates工具)
2.npm-update (使用原生的npm update命令)
3.npm升级所有的依赖包 (使用npm-check工具)
3.primordials is not defined
在安装mxGraph-editor的时候,出现了:primordials is not defined.
解决方法:这个问题原因时node版本过高或者gulp版本过低,可以回退node版本到11.15以下,或者升级gulp版本到4以上。接下来介绍的是不需要回退node版本或者升级gulp的方法:
1.解决ReferenceError: primordials is not defined问题 (这里讲了两种不需要升级gulp或者是降级node的方法,一种是使用npm-shrinkwrap,一种是:npx npm-force-resolutions)
2.运行gulp项目报错:AssertionError: Task function must be specified。
4.building for production…Killed
服务器上执行npm run build,没有生成任何结果输出,直接就killed了。
原因是因为内存不够用了。
解决办法:等会,等会。
5.调试开发包里面的代码
有时候需要修改npm安装的包里面的源码,可以直接修改 dist 目录下的源码,而不是src目录下的源码。当然也可以使用src目录下的文件。
1 | // 正确 |
注意,还有一种方式无法生效,就是我实际修改的是 src 目录的文件,但是在 dev 的时候,引用的却是 .pnpm 目录下的包的源码,这个问题非常的纳闷,我改过了源码,但是总是无法生效。
【尝试】
1.我尝试在构建的时候,添加了 vite –force 选项,还是无济于事,我只能从 “import {stylefunction} from ‘ol-mapbox-style’;” 和 “import {stylefunction} from ‘/node_modules/ol-mapbox-style/dist’;” 两者来回的切换,以便使自己在 stylefunction 中进行的改变生效。但是有时候也并不是总是有用。
2.我尝试删除了 .vite 文件夹,还是不行。
3.我删除了 node_modules 文件夹下的 .pnpm 文件夹,也无济于事。
4.我禁用了浏览器的的 Network 缓存。
【解决方案】
重启:pnpm dev,但是这个方法还是有待商榷的。
经过尝试,步骤应该是这个样子的,要想让 node_modules 开发包中的代码修改后生效。
(1) 禁用浏览器 Network 面板的缓存。
(2) 修改 ol-mapbox-style 包下的dist文件夹下的 indes.js 文件。
(3) 使用pnpm dev, 重启 vite 服务器
1.如何方便的在本地调试npm包
2.pnpm clear cache
3.依赖预构建 如果出于某些原因你想要强制 Vite 重新构建依赖项,你可以在启动开发服务器时指定 –force 选项,或手动删除 node_modules/.vite 缓存目录。