npm 包离线化

npm 包离线化

背景

私服上面的包只能在内网使用,如果是出差或者什么的,npm i 将无法安装依赖。node-sass等依赖包可能需要梯子才能安装。所以部分依赖包我们可以进行离线化处理

实现过程

首先进行一次npm i,把需要的依赖包下载下来,或者从代码仓库等其他地方把依赖包下载下来。然后把下载下来的依赖包存放到项目中,切记不可以存放到node_modules中,因为node_modules一般是要被忽略。然后修改package.json的中对应的依赖包字段。

下面以lodash为例

  • 首先安装lodash
npm i lodash
  • 在项目根目录下新建一个private文件夹,专门用来存放离线包的

  • node_modules中找到lodash,拷贝一份到private文件夹。然后拷贝过来的lodash文件夹最好也重命名一下,加一个版本号进去,这样子一眼就能看出来版本是多少

  • 修改package.json中的lodash字段值

原本是:

{
    "dependencies": {
        "lodash": "^4.17.21"
    }
}

现在需要修改为:

{
    "dependencies": {
        "lodash": "file:./private/lodash-4.17.21"
    }
}

到此,lodash依赖包已经完成了离线化,当其他小组的成员把代码拉下来,执行npm i的命令时,lodash会从我们指定的文件夹中获取安装,其他依赖包还是会从npm源上获取安装。这样子就可以完美解决部分依赖包无法安装或者安装缓慢的问题。

总结

1、npm包离线化不适合对太多的依赖包进行离线化,这样子导致项目的体积变大,太多依赖包离线化还不如直接把node_modules文件夹提交到代码仓库呢。

2、手动实现npm包离线化的操作过程比较繁琐,后续可以做一个工具出来,通过命令行的形式自动实现npm包的离线化。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值