我使用gradle-node-plugin代替了frontend-maven-plugin。
在maven中编写“ yarn run-script build”任务,如下所示
<execution>
<id>yarn run-script build</id>
<goals>
<goal>yarn</goal>
</goals>
<phase>prepare-package</phase>
<configuration>
<arguments>build</arguments>
<environmentVariables>
<buildDir>${project.build.directory}/classes/static</buildDir>
</environmentVariables>
</configuration>
</execution>
在gradle中,我编写了yarnScriptBuild任务
task yarnScriptBuild(type: YarnTask, dependsOn: yarnTest) {
group 'Node'
args = ['run', 'build']
}
如果我执行了“ ./gradlew yarnScriptBuild”命令,
我收到错误消息“输出路径一定不能是项目根目录!”
然后,我将outputs.dir = ("$buildDir/classes")
插入了yarnScriptBuild,但是没有用。
(几天前我发现页面“ $ buildDir意味着{root directory} / build”)
我收到另一个错误“没有此类属性:类的目录:org.gradle.api.internal.tasks.DefaultTaskOutputs”
这是否意味着“ dir”属性不存在?
我应该怎么做?缺少什么?
如果缺少信息,请告诉我。
谢谢。
答案 0 :(得分:0)
尝试在yarnWorkDir
中配置nodeWorkDir
和NodeExtension
:
NodeExtension node = project.extensions.getByType(NodeExtension.class)
node.with {
nodeModulesDir = ${pathToDirWithNodeModulesDir}
yarnWorkDir = ${pathToYarnJs}
}
另外,您可能想将outputs
路径修复为此:
outputs.dir = project.file("$buildDir/classes")
或者这个:
output.dir "$buildDir/classes"