1
我有一个shell命令./node_modules/cordova/bin/cordova
,它可以从项目根目录访问。从Grunt任务运行一个项目文件夹内的shell命令
我也有一组配置文件为Grunt位于./config
文件夹。
现在我试图从任务运行科尔多瓦,想使用它作为一个别名,所以在Gruntfile.js我有这样的:
grunt.initConfig({
buildDir: 'build/interim_builds',
publishDir: 'build/publish',
cordovaCommand: './node_modules/cordova/bin/cordova',
...
})
然后,从任务我运行它是这样的:
mobileApp_create: {
cmd: '<%= cordovaCommand %> create <%= mobileAppProjectDir %>'
}
结果我得到这个错误:
'.' is not recognized as an internal or external command,
如果我更换
cordovaCommand: './node_modules/cordova/bin/cordova'
与
cordovaCommand: 'node_modules/cordova/bin/cordova'
然后,我看到这个错误:
'node_modules' is not recognized as an internal or external command,
所以,我想这可能是一些相对路径和咕噜如何与他们?在哪里可以解决这个问题,因为我需要使用cordova的本地安装,而不是全局的。
不,如果你使用完整路径它的工作? – fedorqui
如果我使用运行全局安装的cordova的'cordova create <%= mobileAppProjectDir%>',它可以工作,但如果我将它运行为'./node_modules/cordova/bin/cordova create <%= mobileAppProjectDir %>' –
也许试试用这个:https://github.com/csantanapr/grunt-cordovacli。 – johnborges