我有一个Angular应用程序,带有一个核心模块和共享模块。 我的架构就是这样:
./repo
| projects
| core
| shared
| src (my app)
构建库时,输出文件夹为dist-lib / *
当我构建应用程序时,输出文件夹是dist / *
因此,我使用npm install将我的库文件包含在我的应用程序中:
-“核心”:“文件:./ dist-lib / core”
-“共享”:“文件:./ dist-lib /共享”
一切正常,但是当有人设置项目时出现问题。由于找不到库(找不到dist-lib / core ...),所以项目无法“ npm安装”,并且由于没有安装ng-packager(需要npm安装),所以无法构建库。>
我试图将core和shared放在optionalDependencies中。再好不过了。
我可以在另一个有角度的应用程序中移动库,但这并不有趣。
有人吗?
答案 0 :(得分:0)
因此问题出在npm依赖项上(本质上与Angular无关)。要解决此问题,您可以在npm上发布模块(您可能不想这样做),也可以在私有存储库中发布它们。
后一种解决方案的详细指南可以在这里找到:
https://docs.npmjs.com/misc/registry
这样,您可以在自己的计算机/服务器上托管模块。将私有存储库添加到package.json后,可以将它们作为依赖项添加,就像它们是普通的npm软件包一样。
答案 1 :(得分:0)
我不想发布,因为图书馆正在开发中。
所以我终于找到了问题。这是package-lock.json试图检查软件包的版本...
因此,我最后一个用于设置项目的命令是(带有核心和共享库,位于optionalDeps中):
rimraf ./package-lock.json && npm install && npm运行build:core && npm run build:shared && npm install