共计 1010 个字符,预计需要花费 3 分钟才能阅读完成。
因工作须要,所以须要在内网脱网环境进行开发 Vue 我的项目,那么问题来了,咱们的 node_modules 依赖包要怎么在内网环境部署呢?
零碎:window 10
node:16.11.1
npm:8.0.0
我的项目:Vue
离线环境的 node 和 npm 版本须要跟外网环境的版本统一(即你从哪个环境中复制缓存)
解决方案
操作步骤只有两步,复制和全局装置,即:
-
复制本地 local 下的 npm-cache 文件,至内网环境同目录下,如果不晓得在哪里,则能够执行如下指令:
npm config get cache // 可看到此门路 C:\Users\HP\AppData\Local\npm-cache // 这只是我自己电脑中的门路,依据零碎不同,略有不同
能够看到咱们本地 npm 缓存的地位,把 npm-cahe 整个文件复制进去即可
-
应用 -offline 指令,即:
npm install -offline
此命令是应用本地缓存的依赖包进行装置
如果新增了依赖包,则须要把 npm cache 复制到离线环境,而后须要替换我的项目的 package.json、package-lock.json 文件,而后再进行 install –offline 即可
扩大
npm 的缓存机制
npm install 在执行时,首先构建依赖树,一次装置依赖树中的包。
如果缓存中有依赖包,就会向近程仓库确认是否过期(304 查看)查看,如果过期,就应用新的返回数据刷新缓存,否则就间接应用缓存中的数据。
此外还提供了新的参数,是用户能够指定缓存应用的策略
–prefer-offline: 将使 npm 跳过任何条件申请(304 查看)间接应用缓存数据,只有在缓存无奈匹配到的时候,才去拜访网络。这样咱们将依赖包增加到我的项目的过程就会快很多。
例如,npm install express –prefer-offline 将当初缓存中匹配 express,只有在本地缓存没有匹配到的状况下,才去联网下载。
–prefer-online: 与它将强制 npm 从新验证缓存的数据(应用 304 查看),并应用从新验证的陈腐数据刷新缓存。
–offline 将强制 npm 应用缓存或退出。如果尝试装置的任何内容尚未在缓存中,则它将呈现代码谬误。
能够通过.npmrc 或者 npm config set 来设置缓存应用的策略。
一个新的 npm cache verify 命令,它将对你的缓存进行垃圾回收,缩小不须要的货色占据的磁盘使用量,并且会对索引和内容进行全面的完整性验证