【npm】前端开发包管理器

monorepo的概念

我的理解就是将不同项目的公共应用的部分提取出来,方便维护
pnpm支持开发monorepo项目,提供了workspace的概念
参考链接
共享的文件新建index.ts暴露。在package.json中指定入口文件
通过pnpm命令在需要的项目中安装

解决前端开发包管理器混用的问题

packageManager

参考链接
packageManager从 Node.js 16.x 开始,package.json 文件可以有一个 packageManager 属性来定义所需的包管理器及其精确版本

需要配合corepack进行,
启用命令是corepack enable/corepack enable npm
禁用命令是corepack disable/corepack disable npm
启用后使用其他非配置命令会给予提示并跳出安装

npm7.0之前

使用only-allow进行安装前的提示,告知程序员应使用什么命令进行安装
关键词:preinstall , process.env.npm_config_user_agent
在执行npm install之前会执行preinstall钩子的命令

"script":{
	"preinstall":"npx only-allow pnpm"
}

源码中主要是通过process.env.npm_config_user_agent进行有关信息截取

有部分文章推荐npm-only-allow

注:npm7.0版本后不再支持,因为 preinstall钩子会在安装过依赖包后再触发

pnpm 6.21

版本开始新增了 pnpm:devPreinstall 脚本,所以将 preinstall 换成 pnpm:devPreinstall 即可达到 NPM 7.0 以下版本的效果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值