我试图从grunt的scripts.postinstall运行多个CLI命令。我无法弄清如何使两个命令都运行。如果我添加第二个命令,两个命令都不会运行。单独地,在postinstall和控制台中,它们都能正常工作。
我尝试将它们包装在一个数组中:
"scripts": {
"postinstall": ["node_modules/.bin/bower install", "grunt setup"]
},
我试着用分号将它们分开:
"scripts": {
"postinstall": "node_modules/.bin/bower install; grunt setup"
},
我似乎在NPM Scripts找不到解决方法。
这些部分的gruntfile.js看起来像这样:
mkdir: {
setup: {
options: {
create: [
'app/main/source/www', 'app/main/build', 'app/main/docs', 'app/main/tests',
'app/development',
'app/releases'
]
}
}
}
grunt.registerTask('setup', [
'mkdir:setup',
'bowercopy:wordpress'
]);
如果有帮助的话,这是我裁剪过的 package.json 的简化版本,其中我删除了上面的代码示例,主要是为了提供背景信息。
{
"name": "webapp",
"version": "0.1.0",
"description": "A web app using bower and grunt",
"main": "gruntfile.js",
"scripts": {
"postinstall": "node_modules/.bin/bower install"
},
"repository": {
"type": "git",
"url": "someurl.com"
},
"keywords": [
"web", "app"
],
"author": {
"company": "somecompany",
"name": "somename",
"email": "email@me.com"
},
"license": "MIT",
"homepage": "https://someurl.com",
"bugs": {
"url": "someurl.com"
},
"devDependencies": {
"grunt": "^0.4.5",
"bower" : "~1.3.5",
etc
}
}
&&
是标准的Shell脚本运算符,不是特定于Node的。 - kenwarner