当前位置: 首页 > Web前端 > vue.js

node_modules离线安装

时间:2023-03-31 20:13:58 vue.js

由于工作需要,需要在内网脱网环境下开发Vue项目。那么问题来了,我们如何在内网环境中部署我们的node_modules依赖包呢?system:window10node:16.11.1npm:8.0.0Project:Vue离线环境的node和npm版本需要和外网环境的版本保持一致(也就是你从哪个环境拷贝缓存)。解决方案操作步骤只有两步,copy和Globalinstallation,即:将local本地下的npm-cache文件复制到内网环境同目录下,如果不知道在哪,可以执行以下命令:npmconfiggetcache//你可以看到这个路径C:\Users\HP\AppData\Local\npm-cache//这只是我电脑中的路径。根据系统的不同,它略有不同。你可以看到我们本地npm缓存的位置。将npm-cahe整个文件复制进去,使用-offline命令,即:npminstall-offline该命令使用本地缓存的依赖包进行安装。如果添加了新的依赖包,需要将npm缓存复制到离线环境,然后需要更换项目的package.json和package-lock。json文件,然后安装--offline以扩展npm的缓存机制。当执行npminstall时,它首先构建一个依赖树,并一次性安装依赖树中的包。如果缓存中有依赖包,会和远程仓库校验,确认是否过期(304校验)。如果过期,则使用新返回的数据刷新缓存,否则直接使用缓存中的数据。另外,提供了一个新的参数,允许用户指定缓存使用策略--prefer-offline:会让npm跳过任何条件请求(304检查),直接使用缓存的数据,只有当缓存无法匹配时,去上网。这将使我们向项目添加依赖项的过程更快。比如npminstallexpress--prefer-offline现在会匹配缓存中的express,只有本地缓存??不匹配才去网上下载。--prefer-online:它将强制npm重新验证缓存数据(使用304检查),并使用重新验证的新数据刷新缓存。--offline将强制npm使用缓存或退出。如果它尝试安装的任何东西不在缓存中,它就会在代码中出错。缓存使用的策略可以通过.npmrc或npmconfigset设置。一个新的npm缓存验证命令,它将垃圾收集缓存,减少不需要的东西占用的磁盘使用量,并对索引和内容进行全面的完整性验证