ESLint 在创建反应应用程序中杀死端口后不会重新启动



当我用npm run start启动我的create react应用程序时,我根据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进行实际的内容更改——我为注册对文件的写入而添加的任何空白都会在保存时被Prettier再次删除;2)这需要时间,更不用说追踪这里发生的事情所花费的时间了——浪费时间从来都不是一件有趣的事。

因此,问题是——是否有一种简单的方法来配置ESLint,以便在每次CRA项目编译时启用它,而不是仅在项目配置文件更改时启用它?

几天过去了,没有人回答这个问题,所以我只想回答它,这样其他人就不用浪费我弄清楚的时间了。

我观察到,如果您使用npx kill-port [xxxx]终止了正在运行的端口,然后在同一端口上重新启动该项目,esint将停止监视您的create-react-app项目。

这意味着,如果你想中止CRA并重新启动它(例如,由于无限循环或其他关键编译问题),使用npx kill-port不是一种安全的方法。CRA会在使用npx kill-port后重新编译并重新启动,但esint不会重新启动。这意味着,在你不知情的情况下,你的CRA将在没有任何React linting的情况下运行,这可能会导致错误悄悄进入你的代码。

我发现的中止CRA并在启用ESLint的情况下重新启动它的唯一方法是1)更改package.json,然后使用npx kill-port或2)终止节点进程。

相关:

终止npm进程后端口仍在使用?

相关内容

  • 没有找到相关文章

最新更新