我想把我的服务器端文件放在 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
}
}