这种方法采用的是npm缓存的机制实现
涉及命令:
拉取本地缓存包,如果不存在则报错
npm install --offline
拉取并本地缓存的npm包不存在时在网上拉取并缓存
1. npm install --prefer-online // 它将强制 npm 重新验证缓存数据
2. npm install --prefer-offline //只有在缓存中丢失了某些内容时才能访问网络
// 需要注意的是有时候无法正确的导入相应的js包,但是cnpm又无法正确缓存时,我们可以使用下面的方法解决,
//下面这种方案只是我个人在项目中遇到,还未分析具体原因
// npm install --prefer-offline-registry=http://registry.npm.taobao.org
步骤:
1. 先本地检查是否有npm包的缓存文件。
由于本人也未深入研究,采取最简单的方法,删除项目中的所有包,运行npm install --offline当报错时说明存在没有缓存的包
2.拉取需要的包并缓存(第一步未报错可以跳过)
运行npm install --prefer-offline 命令
3.找到node配置的npm缓存目录拷贝到内网
4.在内网项目内运行npm install --offline
注意:
由于npm包的版本问题,在package.json中记录的包的版本不一定和实际导入包版本一致,这样会导致内网npm install --offline命令执行报错。这个时候需要把package-lock.json也一并迁移。当然这是针对平常忽略这个文件的时候