[英]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)終止節點進程。
有關的:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.