Tl; dr:我试图使用
dependsOn
属性链接两个NX目标,但似乎被忽略了。
project.json
文件中,有以下目标(等):
build
:executor =
@angular-devkit/build-angular:browser
,构建我的项目
serve
:executor =
@angular-devkit/build-angular:dev-server
,上述任务设置为
build
buildTarget
mytest
"targets": {
"build": {
"executor": "@angular-devkit/build-angular:browser",
// ...
"options": {
// ...
},
"configurations": {
"development": {
// ...
}
}
"defaultConfiguration": "development"
},
// ...
"serve": {
"executor": "@angular-devkit/build-angular:dev-server",
"configurations": {
"development": {
"buildTarget": "myProject:build:development"
}
},
"defaultConfiguration": "development"
},
// ...
"mytest": {
"command": "echo 'TEST'"
}
mytest
目标。我认为为此,我必须添加dev-server
作为
mytest
任务的依赖性:
build
现在,当我跑步时...什么都没有发生。该应用程序像往常一样构建,但是
"targets": {
"build": {
"executor": "@angular-devkit/build-angular:browser",
"dependsOn": ["mytest"],
输出文本无处可见。
相关,如果我在最小的示例中尝试此操作,则可以按预期进行操作:
nx serve
运行
TEST
将显示"mytest": {
"command": "echo 'Test 1'"
},
"outertest": {
"dependsOn": ["mytest"],
"command": "echo 'Test 2'"
}
,然后显示
nx outertest
。
为什么我的依赖性目标不运行?有什么特别的eceputor,可以防止依赖性运行,我是否应该使用其他方法将我的命令预先为构建?
我遇到了相同的问题。我认为这是因为
Test 1
使用Test 2
来依赖@angular-devkit/build-angular:browser
,这是一个不知道nx
serve
属性的角度执行者参数。这不是“ NX执行者”,它是一个角度。您必须在
buildTarget
和build