因工作须要,所以须要在内网脱网环境进行开发Vue我的项目,那么问题来了,咱们的node_modules依赖包要怎么在内网环境部署呢?

零碎:window 10
node:16.11.1
npm: 8.0.0
我的项目:Vue
离线环境的node和npm版本须要跟外网环境的版本统一(即你从哪个环境中复制缓存)

解决方案

操作步骤只有两步,复制和全局装置,即:

  1. 复制本地local下的npm-cache文件,至内网环境同目录下,如果不晓得在哪里,则能够执行如下指令:

    npm config get cache// 可看到此门路 C:\Users\HP\AppData\Local\npm-cache   // 这只是我自己电脑中的门路,依据零碎不同,略有不同

    能够看到咱们本地npm缓存的地位,把npm-cahe整个文件复制进去即可

  2. 应用-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命令,它将对你的缓存进行垃圾回收,缩小不须要的货色占据的磁盘使用量,并且会对索引和内容进行全面的完整性验证