带有multipe node_modules文件夹的AngularCompilerPlugin

时间:2019-06-04 11:40:22

标签: angular webpack monorepo angular-aot

我正在开发一个包含多个角度(v7)应用程序的单一存储库。

使用webpack进行角度AOT编译会给我带来麻烦。

顶层结构如下:

  • 应用程序01
    • node_modules
    • src
  • 应用程序02
    • node_modules
    • src
  • ...
  • 共享
    • node_modules
    • src

所有应用程序都可以使用共享文件夹中的代码。一切正常,直到AngularCompilerPlugin的第二个编译阶段运行为止。

它会引发如下错误:

Module not found: Error: Can't resolve '../../../../../../../Shared/node_modules/@angular/material/button/typings/index.ngfactory'

共享文件夹中的组件和服务似乎未创建和/或未包含在编译中。

有人遇到类似问题吗?

是否可以从多个源目录中使AngularCompilerPlugin包含工厂文件?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我在具有相同结构的项目上只有一个node_module文件夹。我将nrwl/nx用于更多工作区。

See it on github

我的结构:

apps
  - app1
     - src
  - app2
     - src
libs
  - shared1
     - src
  - shared2
     - src
node_modules

为什么需要更多的node_modules?