【发布时间】:2020-06-15 06:38:09
【问题描述】:
我的项目根目录是:
D:/Project/Node_Project
我正在使用 gradle 插件在我的项目根目录中临时安装 nodejs,以便在构建 thoject 时可以在项目中运行一些 nodejs 命令。插件如下:
plugins {
id "com.github.node-gradle.node" version "2.2.4"
}
node {
download = true
version = "10.10.0"
distBaseUrl = 'https://nodejs.org/dist'
workDir = file("${project.buildDir}/nodejs")
}
所以,nodejs 正在安装在项目中的位置:
D:/Project/Node_Project/build/nodejs/node-v10.10.0-win-x64
现在,我正在使用.execute(String[] "path to set at environment variable", String path of file to be executed which is in the project root directory) 方法运行具有节点依赖性的 windows 命令。代码如下:
cmd = "node connect.js"
def process = cmd.execute(["PATH=${project.projectDir}/build/nodejs/node-v10.10.0-win-x64"],null)
在上面的 .execute 方法中,有没有办法自动填充字符串的 "build/nodejs/node-v10.10.0-win-x64" 部分,而不是将其硬编码到方法中?
比如:
def process = cmd.execute(["PATH=${project.projectDir}/.*"],null)
.execute 方法的语法: https://docs.groovy-lang.org/latest/html/groovy-jdk/java/lang/String.html#execute(java.lang.String[],%20java.io.File)
所有代码都在“build.gradle”文件中。请帮忙!
【问题讨论】:
-
是否有理由不使用NodeTask 类型来运行您的脚本?
标签: java node.js gradle groovy build.gradle