簡體   English   中英

在 create-react-app 中殺死端口后 ESLint 不會重新啟動

[英]ESLint doesn't restart after killing port in create-react-app

當我使用npm run start啟動我的 create-react-app 時,我會根據 eslintrc.json 中推薦的 react 和 react-hooks 插件規則得到預期的 ESLint 錯誤。 終端顯示如下所示的預期錯誤,編譯失敗:

Line 8:10: 'turns' is assigned a value but never used no-unused-vars

如果我隨后使用npx kill-port [port-number]關閉 CRA,然后重新啟動 CRA,則應用程序編譯成功,沒有 ESLint 錯誤。 所以它似乎殺死了端口並重新編譯禁用了 ESLint。 要讓 ESLint 再次運行,我必須對 package.json 進行更改,保存並重新啟動應用程序。

雖然這不是什么大不了的事,但它 1) 不方便,因為我必須對 package.json 進行實際的內容更改——我添加的任何虛擬空白只是為了注冊對文件的寫入,在保存和 2 時 Prettier 再次刪除) 這需要時間——更不用說追蹤這里發生的事情所花費的時間——而且浪費時間從來都不是一件有趣的事情。

所以問題是——是否有一種簡單的方法來配置 ESLint,以便在每次 CRA 項目編譯時啟用它,而不是僅在項目配置文件更改時啟用?

幾天過去了,沒有人回答這個問題,所以我只是要回答它,所以沒有人會浪費我弄清楚它的時間。

我觀察到如果你使用npx kill-port [xxxx]它正在運行的端口,eslint 會停止監視你的 create-react-app 項目,然后在同一個端口上重新啟動項目。

這意味着如果您想中止 CRA 並重新啟動它(例如由於無限循環或其他一些嚴重的編譯問題),使用npx kill-port不是一種安全的方法。 使用 npx npx kill-port后 CRA 將重新編譯並重新啟動,但 eslint 不會重新啟動。 這意味着,在您不知情的情況下,您的 CRA 將在沒有任何 React linting 的情況下運行,這可能導致錯誤潛入您的代碼。

我發現中止 CRA 並在啟用 ESLint 的情況下重新啟動它的唯一方法是 1)更改 package.json,然后使用npx kill-port或 2)終止節點進程。

有關的:

殺死 npm 進程后端口仍在使用中?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM