2017-09-03 50 views
0

我剛安裝ESLint錯誤,我可以成功地通過在終端窗口這樣運行:中的package.json作品行書,但包括

./node_modules/.bin/eslint app 

注:app是我想皮棉檢查根文件夾。

我然後把在我的package.json確切的命令:

"scripts": { 
    "lint": "./node_modules/.bin/eslint app" 
    } 

我希望能夠在這樣的終端窗口中運行它:

npm run lint 

注:我知道如何修復no-undef錯誤。我的問題是關於之後的許多錯誤行。

它的實際工作,但顯示了我正確的輸出後,也產生了一堆錯誤:

enter image description here

這是爲什麼發生?

回答

3

這是npm腳本運行器如何處理腳本錯誤(即非零退出代碼)的默認方式。即使您只運行exit 1這樣的腳本,這種情況也會一直髮生。

我不確定爲什麼這個功能存在,在大多數情況下它似乎令人討厭和無用。

如果你不想看到這個,你可以在腳本的末尾添加|| true

例子:

lint: "eslint app || true"

正如你可能已經注意到了,我省略了一部分的eslint二進制文件。當試圖運行腳本時,npm腳本運行器已經包含本地二進制文件作爲路徑的一部分,因此不需要使用完整路徑。

+0

關於能夠省略完整路徑的優秀提示。謝謝。 –

0

document是全球性的,所以eslint認爲你錯過了某處的導入。對於這些情況,你能適應你的配置,以便不報告錯誤,事情是這樣的:

module.exports = { 
    "globals": { 
    "document": true 
    } 
} 

這應該被保存爲.eslintrc.js並在同一水平,你的package.json

+1

如果我正確理解問題,OP會詢問爲什麼當linter失敗時出現錯誤日誌,而不是如何解決linter錯誤。 –

+0

這是正確的。我知道如何解決no-undef錯誤。 –

+0

此外,這是[已經回答(shamelss插件)](https://stackoverflow.com/a/34820916/1276128)。 –