如何使Angular CLI引用不同的node_modules文件夹?

时间:2018-03-22 12:32:51

标签: angular angular-cli

我正在创建一个新的Angular项目而不下载依赖项,例如:ng new sample-app --skip-install

我在node_modules中拥有名为older-app的不同角度应用程序的不同文件夹中的所有必需依赖项。我希望新创建的sample-app引用old-app的node_modules。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:3)

嗯,最简单的方法是在sample-app中创建一个指向另一个node_modules的符号链接。

如果你在窗户,

cd sample-app
mklink /J node_modules "../older-app/node_modules"

不确定linux或MacOS中的语法,但它会类似。

我不建议这样做,因为虽然在一个目录中更新或添加包会影响两者(因为两个node_modules实际上是相同的),但只有目录的package.json文件你将被修改。

这意味着,如果您与其他人共享应用程序或将其放入另一台计算机,则运行npm install并不能保证您获得相同的程序包,这可能会导致错误,因此请自行执行此操作风险。

例如,如果您转到older-app并将Angular更新为版本6,则sample-app也会被修改。因此,您可以更改代码,针对Angular 6进行开发。但是,如果您随后将该应用程序上传到Github或其他存储库,无论谁下载它,当它们运行npm install时将获得Angular 5,这肯定会导致错误。

package.json个文件必须始终与node_modules目录同步。

答案 1 :(得分:0)

唯一真正的选择似乎是,移动cli文件。 至于看到这里:

https://github.com/angular/angular-cli/issues/3864