我使用gradle-node-plugin而不是frontend-maven-plugin
。在 Maven 中编写了 yarn 运行脚本构建"任务,如下所示
<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 意思是 {根目录}/构建"(我收到另一个错误"没有这样的属性:类的目录:org.gradle.api.internal.tasks.DefaultTaskOutputs">
这是否意味着"目录"属性不存在?
我该怎么办?缺少什么?
如果缺少信息,请告诉我。
谢谢。
尝试在NodeExtension
中配置yarnWorkDir
和nodeWorkDir
:
NodeExtension node = project.extensions.getByType(NodeExtension.class)
node.with {
nodeModulesDir = ${pathToDirWithNodeModulesDir}
yarnWorkDir = ${pathToYarnJs}
}
此外,您可能希望将outputs
路径修复为:
outputs.dir = project.file("$buildDir/classes")
或者这个:
output.dir "$buildDir/classes"