我的目標是能夠將我的項目構建到兩個單獨的構建文件夾,每個文件夾都有其自己的Grunt任務。Grunt/Yeoman多個Gruntfile.js文件
我注意到grunt-cli
有--gruntfile
選項,它允許你指定另一個Gruntfile使用。到目前爲止,我有一個Gruntfile.js
完美工作(從Yeoman附近庫存)。另外,我還坐着另一個Gruntfile2.js
。
Gruntfile.js
var yeomanConfig = {
app: 'app',
dist: '../www_browser'
};
Gruntfile2.js
var yeomanConfig = {
app: 'app',
dist: '../www'
};
grunt build
意味着運行Gruntfile.js,並不會如此完美。
grunt build --gruntfile Gruntfile2.js
是爲了運行Gruntfile2.js
,並且這樣做有一些打嗝。 (應該構建以../www
文件夾不夾../www_browser
)
的--gruntfile指令建立在正確的文件夾,幾乎每一個任務除了咕嚕-usemin和gunt-的contrib-htmlmin。我知道這是因爲此輸出這裏的控制檯:
Running "usemin:css" (usemin) task
Processing as CSS - ../www_browser/styles/22f60055.main.css
Running "concurrent:dist" (concurrent) task
Running "htmlmin:dist" (htmlmin) task
File ../www_browser/404.html created.
File ../www_browser/index.html created.
你會在控制檯輸出注意到../www_browser,在這裏。每個其他任務運行在預期的文件夾中。
這是一個usemin緩存的東西?咕嚕緩存的東西?或者,不管--gruntfile Gruntfile2.js
指令如何,只需從默認的Gruntfile.js運行一些任務?
我已經放棄嘗試從一個單一的Gruntfile現在做多個目標。 Yeoman的Gruntfile.js中有太多的依賴關係,它們還不支持多個構建目標,我花了12個小時無法使用這種方法。
版本信息
$: grunt --version
grunt-cli v0.1.9
grunt v0.4.1
$: npm --version
1.2.25
$: yo --version
1.0.3
的package.json
{
"name": "myapp",
"version": "0.0.0",
"dependencies": {},
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-concat": "~0.1.3",
"grunt-contrib-coffee": "~0.6.5",
"grunt-contrib-uglify": "~0.2.0",
"grunt-contrib-compass": "~0.2.0",
"grunt-contrib-jshint": "~0.4.1",
"grunt-contrib-cssmin": "~0.6.0",
"grunt-contrib-connect": "~0.2.0",
"grunt-contrib-clean": "~0.4.0",
"grunt-contrib-htmlmin": "~0.1.3",
"grunt-bower-requirejs": "~0.4.1",
"grunt-contrib-requirejs": "~0.4.0",
"grunt-contrib-imagemin": "~0.1.3",
"grunt-contrib-watch": "~0.4.0",
"grunt-rev": "~0.1.0",
"grunt-usemin": "~0.1.10",
"grunt-mocha": "~0.3.0",
"grunt-open": "~0.2.0",
"grunt-svgmin": "~0.1.0",
"grunt-concurrent": "~0.1.0",
"matchdep": "~0.1.1",
"connect-livereload": "~0.2.0"
},
"engines": {
"node": ">=0.8.0"
}
}
它不應該讀取默認的Gruntfile。作爲一個實驗,你有沒有嘗試刪除,或者在運行'grunt build --gruntfile Gruntfile2.js'之前將默認的Gruntfile.js重命名爲隨機的東西? – badsyntax
好的建議。這一個將會讓我失望另一個兔子洞。現在得到錯誤的併發:dist任務警告:無法找到有效的Gruntfile。請參閱 的入門指南有關如何配置grunt的詳細信息:http://gruntjs.com/getting-started 致命錯誤:無法找到Gruntfile。 – Jarrod
這裏記錄在這裏:https://github.com/gruntjs/grunt-cli/issues/26 雖然,在恢復到grunt-cli v0.1.8之後,我收到了同樣的錯誤。 – Jarrod