vue-cli中--no-fix无效,如何禁用tslint自动修复功能?
解决TSLint自动修复问题的几个方法
我懂这种烦恼——明明加了--no-fix参数,TSLint还是自顾自修复错误,确实挺闹心的。下面几个方向你可以排查试试:
1. 检查TSLint配置文件的fix选项
首先看看项目根目录下的tslint.json(或者tslint.yaml),有没有直接设置了全局的自动修复开关:
{ "rules": { // 其他规则... }, "fix": true // 重点看这个!如果是true,会覆盖命令行的--no-fix }
如果有这个"fix": true的配置,把它改成false或者直接删掉,命令行的--no-fix就能生效了。
2. 调整Vue CLI的链式配置
有时候Vue CLI的内置lint插件会自带修复逻辑,可能忽略了命令行参数。你可以在vue.config.js里手动关闭修复:
module.exports = { chainWebpack: config => { // 找到TSLint插件(如果项目用的是TSLint而非ESLint) config.plugin('tslint').tap(options => { // 强制关闭自动修复 options[0].fix = false; return options; }); } };
如果你的项目是用ESLint+TS的组合,把上面的'tslint'换成'eslint'就行。
3. 检查编辑器的自动修复设置
很多人会忽略编辑器的插件自动修复!比如VS Code里的TSLint插件,默认可能开启了保存自动修复。你可以打开VS Code的设置,搜索tslint.autoFixOnSave,把它设为false,这样编辑器就不会偷偷帮你修复了。
4. 确认命令行参数没有冲突
最后再检查下package.json里的lint命令,确保没有同时出现--fix和--no-fix:
{ "scripts": { "lint": "vue-cli-service lint --no-fix" // 确保只有--no-fix,没有--fix } }
按照这几个步骤排查下来,应该就能阻止TSLint自动修复了~
内容的提问来源于stack exchange,提问作者Nikita Kress
相关产品推荐
相关产品推荐

