在我的上一个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
文件夹中进行。为什么它可以触发重建?
谢谢