我在研究grunt-inline模塊,並面臨以下問題。我有以下任務的配置:如果拋出異常,爲什麼GruntJS不會執行?
grunt.initConfig({
inline: {
options: {
uglify: true
},
dist: {
src: 'src/index.html',
dest: 'dist/index.html'
}
}
});
從配置上面uglify: true
選項意味着執行UglifyJS.minify
上this line:
var c = options.uglify ? UglifyJS.minify(inlineFilePath).code : grunt.file.read(inlineFilePath);
的問題是,如果UglifyJS.minify
拋出異常(這我只是面對) grunt inline
命令不會失敗,但會退出。
那麼,無論是這個模塊的問題,從我身邊缺乏一些咕嚕聲的旗幟?
如果你能解釋我如何在任何異常情況下打破咕嚕聲,那將是非常好的。
編輯: 另外我發現,如果我趕上異常,並重新把它自己它打破咕嚕好,像下面這樣:
try {
var c = options.uglify ? UglifyJS.minify(inlineFilePath).code : grunt.file.read(inlineFilePath);
} catch(e) {
throw new Error(e.message);
}
那麼,爲什麼開不例外,從UglifyJS.minify(inlineFilePath).code
突破gruntjs任務?
感謝您的回答。但是,爲什麼如果我能從'UglifyJS.minify'中發現異常,這不是一團糟?請參閱我的更新後的文章 – Erik
Grunt僅處理連接到grunt對象的異常。grunt對象應該用於與gruntjs進行通信。 http://gruntjs.com/api/grunt – Revive
這有點不真實。正如我在上面的帖子更新中所描述的,如果我自己拋出異常,grunt會打破罰款。 – Erik