You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Angular CLI引用其他目录下的node_modules文件夹?

复用已有Angular项目的node_modules到新项目

嘿,这个需求很好解决,核心就是让新项目能找到已有项目里的依赖库,给你两种实用的方法,按需选择就行:

方法一:创建符号链接(推荐,简单直接)

这种方式相当于给新项目的node_modules创建一个“快捷方式”,指向旧项目的依赖文件夹,步骤如下:

  1. 先确认两个项目的目录结构,比如假设你的older-app在../older-app,sample-app在当前目录下。
  2. 根据你的操作系统执行对应的命令:
    • Windows(命令提示符):
      mklink /D node_modules ..\older-app\node_modules
      
    • Windows(PowerShell):
      New-Item -ItemType Junction -Path .\node_modules -Target ..\older-app\node_modules
      
    • macOS/Linux:
      ln -s ../older-app/node_modules node_modules
      
  3. 完成后,你在sample-app里执行ng serve或者ng build时,Angular就会自动复用older-app里的依赖了。

方法二:通过环境变量指定依赖路径

如果不想创建软链接,也可以通过设置NODE_PATH环境变量,告诉Node.js去哪里找依赖:

  1. 直接在终端临时设置(每次打开终端都要重新设置):
    • macOS/Linux:
      export NODE_PATH=../older-app/node_modules
      # 之后再执行ng命令
      ng serve
      
    • Windows(命令提示符):
      set NODE_PATH=..\older-app\node_modules
      ng serve
      
  2. 或者把配置写到package.json的脚本里,一劳永逸:
    修改sample-app的package.json中的scripts部分:
    "scripts": {
      "start": "NODE_PATH=../older-app/node_modules ng serve",
      "build": "NODE_PATH=../older-app/node_modules ng build"
    }
    
    之后直接运行npm run start或者npm run build就会自动加载指定路径的依赖了。

重要注意事项

  • 一定要确保两个项目的Angular版本以及核心依赖版本一致!比如older-app用的是Angular 15,那创建sample-app时最好加上--version 15参数,不然版本不兼容会出现各种奇怪的报错。
  • 用软链接的时候,删除sample-app的node_modules链接时,注意不要误删原older-app里的真实依赖文件夹(软链接只是快捷方式,删除链接不会影响原文件,但操作时还是要小心)。

内容的提问来源于stack exchange,提问作者codingsplash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:24:44