【发布时间】:2016-07-29 08:08:58
【问题描述】:
我有一个 shell 命令./node_modules/cordova/bin/cordova,可以从项目根目录访问。
我还有一组用于 Grunt 的配置文件,它们位于 ./config 文件夹中。
现在我正在尝试从任务中运行 cordova 并希望将其用作别名,所以在 Gruntfile.js 中我有这样的:
grunt.initConfig({
buildDir: 'build/interim_builds',
publishDir: 'build/publish',
cordovaCommand: './node_modules/cordova/bin/cordova',
...
})
然后,我从一个任务中运行它:
mobileApp_create: {
cmd: '<%= cordovaCommand %> create <%= mobileAppProjectDir %>'
}
结果我得到这个错误:
'.'未被识别为内部或外部命令,
如果我替换
cordovaCommand: './node_modules/cordova/bin/cordova'
与
cordovaCommand: 'node_modules/cordova/bin/cordova'
然后我看到这个错误:
'node_modules' 未被识别为内部或外部命令,
所以,我想它可能是具有相对路径的东西,以及 Grunt 如何与它们一起工作?我需要在哪里解决这个问题,因为我需要使用本地安装的cordova,而不是全局安装。
【问题讨论】:
-
如果你使用完整路径,它可以工作吗?
-
如果我使用
cordova create <%= mobileAppProjectDir %>可以运行全局安装的cordova(如果可用),但如果我以./node_modules/cordova/bin/cordova create <%= mobileAppProjectDir %>运行它则不起作用 -
也许可以试试这个:github.com/csantanapr/grunt-cordovacli.
标签: node.js shell cordova gruntjs