今天工作中遇到了一个头疼的问题,服务器端的项目生成老是报错,并且是没有修改的的问题,苦思冥想了半天,最后在一个同事的启发下把git上的代码在本地另一个地方生成。按照服务器的生成流程走了一遍,才发现是eslint默认安装了更高级的安装包,控制版本应该就没问题了。
可是这总归不是一个好的方式,于是我在想,有没有可以控制单个校验不显示的控制配置,于是就在网上进行了搜索,看到了有一篇文章说修改package.json中的
eslintConfig 就可以,于是照着改方法修改,修改前后的配置如下: 1.修改前1 "eslintConfig":{ 2 "extends":"react-app" 3 }
2.修改后
1 "eslintConfig": { 2 "extends": "react-app", 3 "rules" : { 4 "no-undef" : "off" , 5 "no-restricted-globals" : "off" , 6 "no-unused-vars" : "off" 7 } 8 }
运行时发现并没有生效,于是我在网上又找方法,看看是不是这个方法不全,我有哪一步没看到,功夫不负有心人,终于找到了一篇更完善的教程。
我们需要先运行 npm reject 解开 config 配置文件 然后在webpack.config.js 中修改关键向配置 ,在文件中搜索 eslint-loader 关键字 我们会发现如下代码
1 { 2 test: /\.(js|mjs|jsx|ts|tsx)$/, 3 enforce: 'pre', 4 use: [ 5 { 6 options: { 7 cache: true, 8 formatter: require.resolve('react-dev-utils/eslintFormatter'), 9 eslintPath: require.resolve('eslint'), 10 resolvePluginsRelativeTo: __dirname, 11 12 }, 13 loader: require.resolve('eslint-loader'), 14 }, 15 ], 16 include: paths.appSrc, 17 },
我们只需要将 cache 的状态修改为 false 再从新运行下项目,就可以了。
真的挺谢谢我看到的那两篇文章的作者,如果有兴趣的话,大家也可以点击后边的链接查看原文 原文一 原文二。
Rome is not built in a day. 再接再厉吧。