gpt4 book ai didi

javascript - Next.js - Eslint 不会在开发模式下检查任何页面(pages/_app.js 除外)

转载 作者:行者123 更新时间:2023-12-02 22:11:04 26 4
gpt4 key购买 nike

我在使用 Next.js 设置 eslint 时遇到问题。当我运行 next build 时,它实际上正确地对我的所有文件进行了 lints,但是当我在开发模式 (next) 下运行应用程序时,eslint 实际上仅对 pages/_app 进行了 lints .js,并完全忽略我的所有其他文件(例如 pages/index.js)。

我的 next.config.js 看起来像这样:

module.exports = {
webpack: (config, { buildId, dev, isServer, defaultLoaders, webpack }) => {
if (dev) {
config.module.rules.push({
test: /\.(j|t)sx?$/,
exclude: /node_modules/,
loader: 'eslint-loader',
})
}
return config
},
}

.eslintrc.js 看起来像这样:

module.exports = {
"env": {
"browser": true,
"es6": true,
"node": true
},
"extends": [
"eslint:recommended",
"plugin:react/recommended"
],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 2018,
"sourceType": "module"
},
"plugins": [
"react"
],
"rules": {
"react/prop-types": 0,
"react/react-in-jsx-scope": 0
}
};

是否有一个示例项目演示使用 Next.js 设置 eslint? Eslint 几乎是任何现代 JS Web 应用程序的标准,因此我很惊讶地发现文档或任何演示项目中都没有提及 eslint。

最佳答案

我实际上能够使用 npm concurrenly 在开发模式下实现 lint包装有eslint-watch .

这样做,我的命令看起来像(在 package.json 中):

"scripts": {
"dev": "concurrently \"npm run lint-js:watch\" \"npm run lint-md:watch\" \"next dev\"",
"build": "next build",
"start": "next start",
"lint-md": "remark .",
"lint-md:watch": "remark --watch .",
"lint-js": "eslint -c ./.eslintrc --ignore-path ./.eslintignore ./src",
"lint-js:watch": "esw -w -c ./.eslintrc --ignore-path ./.eslintignore"
}

希望这会有所帮助!

关于javascript - Next.js - Eslint 不会在开发模式下检查任何页面(pages/_app.js 除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59558063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com