如何将 Node.js 服务器的 ESLint 规则与我的 Vue.js 前端的 ESLint 规则相匹配?



我想把我的服务器端文件放在 Node.js 中,以便与我的 Vue.js 前端具有完全相同的 ESLint 规则。我的 Vue 项目中的.eslintrc.js文件如下所示:

module.exports = {
root: true,
env: {
node: true
},
extends: ["plugin:vue/essential", "eslint:recommended", "@vue/prettier"],
parserOptions: {
parser: "babel-eslint"
},
rules: {
"no-console": process.env.NODE_ENV === "production" ? "error" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off"
}
};

我的 Node.js 有一个看起来像这样的.eslintrc.js

module.exports = {
root: true,
env: {
"es6": true,
"node": true
},
extends: [
"plugin:prettier/recommended"
],
globals: {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
parserOptions: {
"ecmaVersion": 2018,
"sourceType": "module"
},
rules: {
"no-console": process.env.NODE_ENV === "production" ? "error" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
}
}

如果不导入所有特定于 Vue 的 linting 规则(只需要与 javascript 相关的普通规则(,我如何在我的 Node 上获得相同的 ESLint 规则.js而不必手动查找每个前端规则并将其复制到后端?

您只需从前端导入它.eslintrc.js

你的 nodejs.eslintrc.js应该是:

const frontEndRc = require("path_to_your_frontend_eslintrc");
module.exports = {
root: true,
env: {
"es6": true,
"node": true
},
extends: [
"plugin:prettier/recommended"
],
globals: {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
parserOptions: {
"ecmaVersion": 2018,
"sourceType": "module"
},
rules: {
...frontEndRc.rules
}
}

相关内容

最新更新