欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

抽离不同项目的node_modules到一个项目外的公共目录

程序员文章站 2022-05-31 17:33:21
...
问题
  • 问题描述:因工作业务关系,需要将各个前端项目的node_modules抽离到一个公共路径
  • 思路:有两个
    • 修改NODE_PATH,然后全局安装所有依赖
    • 使用软链接
  • 遇到的问题:
    • 搞懂系统的环境变量以及node的模块加载机制
    • 使用node运行shell脚本,或直接执行shell命令
    • 搞懂npm以及yarn的相关命令以及相应的包管理机制
    • 软链接下连续使用两次npm install 会有问题,使用yarn没有问题
  • 待解决的问题:
    • npm与yarn的cache
    • 软链接下npm两次install的问题
    • 需要测试两个不同项目在软链接下,对同一个依赖包,但是版本不同时的情况
node相关

child_process - 子进程 文档

const { exec } = require('child_process')
exec('./pre-install.sh', (error, stdout, stderr) => {
  if (error) {
    console.error(`执行的错误: ${error}`)
    return
  }
  console.log(`stdout: ${stdout}`)
  console.log(`stderr: ${stderr}`)
})

modules - 模块 文档

  • 主要了解模块的加载机制

关于NPM的相关知识 文档

shell的相关命令 文档

  • 脚本传参命令

Linux的相关命令 文档

  • ln命令及其参数