如何防止 Angular 工作区中的交叉项目?
How can I prevent cross-project in Angular workspace?
假设我有一个具有给定结构的项目:
projects
|-app1
|-app2
|-common
node_modules
pakcage.json
tsconfig.json
angular.json
... (rest of the root files)
现在在 app1
的文件中,我可以放这样的东西:
import { Repository } from '../../../app2/src/app/query/repository';
尽管它可以正常工作(正确构建),但我想避免此类导入,以防万一在某个时候,其中一个项目被移动到单独的 repo,通常是为了保持干净的项目结构。
有什么方法可以指示 angular/typescript 在 serve/build 期间抛出错误,即不允许跨项目导入?
找到了解决方案 - import-blacklist
属性 tslint.json
。在我的场景中它看起来像:
{
"extends": "../../tslint.json",
"rules": {
"no-output-native": false,
"import-blacklist": [true,
[".*the-other-project.*"]
]
}
}
假设我有一个具有给定结构的项目:
projects
|-app1
|-app2
|-common
node_modules
pakcage.json
tsconfig.json
angular.json
... (rest of the root files)
现在在 app1
的文件中,我可以放这样的东西:
import { Repository } from '../../../app2/src/app/query/repository';
尽管它可以正常工作(正确构建),但我想避免此类导入,以防万一在某个时候,其中一个项目被移动到单独的 repo,通常是为了保持干净的项目结构。
有什么方法可以指示 angular/typescript 在 serve/build 期间抛出错误,即不允许跨项目导入?
找到了解决方案 - import-blacklist
属性 tslint.json
。在我的场景中它看起来像:
{
"extends": "../../tslint.json",
"rules": {
"no-output-native": false,
"import-blacklist": [true,
[".*the-other-project.*"]
]
}
}