2017-05-30 79 views
1

我使用npm開始使用lint和單元測試用例,如果lint或測試用例失敗,npm不應該用api,但我無法做到。當lint或Unit testcase失敗時如何停止npm start?

這裏是我使用的代碼:

"scripts": { 
    "start": "gulp lint & npm test & node src/server/index.js", 
    "test": "mocha --timeout 10000" 
    }, 

請幫我,我必須爲它做,我搜索互聯網上還可以,但沒有得到妥善的解決辦法。

+0

你在Windows或基於Unix的ENV? –

+0

基於窗口的環境。 –

回答

2

你可以簡單地改寫這樣的代碼:

"scripts": { 
    "start": "gulp lint && npm test && node src/server/index.js", 
    "test": "mocha --timeout 10000" 
}, 

增加一倍。如果前面的步驟包含錯誤& &永遠不會啓動節點服務器的執行。

2

使用&&而不是&

"scripts": { 
"start": "gulp lint && npm test && node src/server/index.js", 
"test": "mocha --timeout 10000" 

},

+0

但是如果lint失敗它不會停止,它會運行測試用例,但是如果我在測試用例中刪除了gulp lint和錯誤,它正在停止...是否需要在grunt文件中設置返回false? –

+0

顯然,這是如何吞嚥工作。我不是一個大的專家。嘗試閱讀這個https://stackoverflow.com/questions/21688613/gulp-returns-0-when-tasks-fail和這個https://github.com/sindresorhus/jshint-stylish/issues/6 –

+0

我個人比較喜歡[eslint](http://eslint.org/) –