我正在创建一个新的Angular项目而不下载依赖项,例如:ng new sample-app --skip-install
我在node_modules中拥有名为older-app的不同角度应用程序的不同文件夹中的所有必需依赖项。我希望新创建的sample-app引用old-app的node_modules。我怎样才能做到这一点?
答案 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文件。 至于看到这里: