angular cli:在这种情况下ng serve命令如何检测文件更改?

时间:2019-05-22 04:38:35

标签: angular webpack angular-cli

在我的上一个stackoverflow帖子中,我大致描述了我的角度项目的目的和结构。您可以通过以下链接进行引用:angular: why import command can search dependency from the build 'dist' folder

简单来说,我正在开发的角度项目是一个角度库(共享的UI组件)和一个示例演示站点(该示例演示了共享的UI组件)。 并且示例演示站点也是一个有角度的应用程序。
该项目的文件结构如下:

src // the demo site is under this src folder
projects 
  shared-components // the shared UI component lib is under this folder
package.json
angular.json
tsconfig.json

所以angular.json配置文件如下:

"projects": {
    "demo-site": {
    },
    "shared-components": {
    }
}

还有另一件事需要提及,即demo-site导入构建shared-components库的方式。它是这样的:

首先将dest的构建输出中的shared-components设置为dist/shared-components
然后在tsconfig.json配置paths段中,将shared-components路径设置为dist/shared-components

通过这种方式,demo-site可以找到shared-components依赖性。它运作良好。

在开发阶段,我在两个终端中分别运行两个angular-cli命令以自动化构建过程:

1. ng build shared-components --watch
2. ng serve 

第一个命令使用shared-components构建--watch,以在修改组件的源文件时重建库。

第二个命令服务于demo-site

当前行为是当我将修改保存在shared-components中时,shared-components检测到更改并运行重建;结果dist文件夹进行了一些更改,然后demo-site也将重新生成。该过程是自动的,效果很好

我的问题是:sourceRoot的{​​{1}}是demo-site文件夹。我的理解是它将检测src下的文件,但是在上述情况下,src内部没有代码更改。更改正在src文件夹中进行。为什么它可以触发重建?

谢谢

0 个答案:

没有答案