Eslint 会因 Vue 项目中的任何错误而中断构建
Eslint breaks build for any error in a Vue project
在我的一个 Vue 项目中的某个时候,Eslint 开始由于任何错误(例如“字符串必须使用单引号”或“已声明但从未使用过的变量”)而中断构建。此外,格式错误不会自动更正(尽管它们应该?)。我不知道这到底是什么时候发生的,是什么原因造成的。可能在 npm install
.
之后
我找到了多个通过向 eslint 配置添加 emitWarning: true
来解决问题的建议,但不幸的是,它对我不起作用。
在我看来,有时第一次尝试构建会成功,并且只有在我更改代码中的某些内容、保存并重新启动服务器后,才会“检测到”并抛出错误。此外,eslint 似乎只关心目前在 VS Code 中实际打开的文件,如果我关闭文件并重新启动,eslint 不再关心那里的格式不正确。
这是我的 .eslintrc.js
内容:
module.exports = {
root: true,
env: {
node: true,
"es6": true
},
extends: [
"plugin:vue/essential",
"@vue/standard"
],
rules: {
"no-console": process.env.NODE_ENV === "production" ? "error" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
"indent": ["error", 4],
"semi": ["error", "always"],
"space-before-function-paren": ["error", "never"],
"quotes": ["error", "single"]
},
parserOptions: {
parser: "babel-eslint",
sourceType: "module",
ecmaVersion: 6,
emitWarning: true, // tried with and without this
emitError: false, // tried with and without this
failOnError: false, // tried with and without this
failOnWarning: false // tried with and without this
}
};
我的另一个 Vue 项目工作正常。我无法查明设置中的任何有意义的差异。
如何阻止 eslint 破坏构建?这里还有什么问题?如果有任何帮助,我将不胜感激!
您可以通过更改 package.json
文件中的 build
脚本使构建命令跳过 ESlint:
"scripts": {
"build": "vue-cli-service build --skip-plugins @vue/cli-plugin-eslint",
}
如果您的项目中没有使用合适的插件,请将其替换为合适的插件。
在我的一个 Vue 项目中的某个时候,Eslint 开始由于任何错误(例如“字符串必须使用单引号”或“已声明但从未使用过的变量”)而中断构建。此外,格式错误不会自动更正(尽管它们应该?)。我不知道这到底是什么时候发生的,是什么原因造成的。可能在 npm install
.
我找到了多个通过向 eslint 配置添加 emitWarning: true
来解决问题的建议,但不幸的是,它对我不起作用。
在我看来,有时第一次尝试构建会成功,并且只有在我更改代码中的某些内容、保存并重新启动服务器后,才会“检测到”并抛出错误。此外,eslint 似乎只关心目前在 VS Code 中实际打开的文件,如果我关闭文件并重新启动,eslint 不再关心那里的格式不正确。
这是我的 .eslintrc.js
内容:
module.exports = {
root: true,
env: {
node: true,
"es6": true
},
extends: [
"plugin:vue/essential",
"@vue/standard"
],
rules: {
"no-console": process.env.NODE_ENV === "production" ? "error" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
"indent": ["error", 4],
"semi": ["error", "always"],
"space-before-function-paren": ["error", "never"],
"quotes": ["error", "single"]
},
parserOptions: {
parser: "babel-eslint",
sourceType: "module",
ecmaVersion: 6,
emitWarning: true, // tried with and without this
emitError: false, // tried with and without this
failOnError: false, // tried with and without this
failOnWarning: false // tried with and without this
}
};
我的另一个 Vue 项目工作正常。我无法查明设置中的任何有意义的差异。
如何阻止 eslint 破坏构建?这里还有什么问题?如果有任何帮助,我将不胜感激!
您可以通过更改 package.json
文件中的 build
脚本使构建命令跳过 ESlint:
"scripts": {
"build": "vue-cli-service build --skip-plugins @vue/cli-plugin-eslint",
}
如果您的项目中没有使用合适的插件,请将其替换为合适的插件。