我刚刚创建了一个新的模板与create-react-app
与reactv17包括,我安装了eslint依赖,因为我以前,这是我的package.json文件
{
"name": "gym-nation",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.11.5",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"axios": "^0.21.0",
"classnames": "^2.2.6",
"moment": "^2.29.1",
"prop-types": "^15.7.2",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-helmet": "^6.1.0",
"react-intl": "^5.8.6",
"react-redux": "^7.2.1",
"react-router": "^5.2.0",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.0",
"redux": "^4.0.5",
"redux-thunk": "^2.3.0",
"web-vitals": "^0.2.4"
},
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^4.5.0",
"@typescript-eslint/parser": "^4.5.0",
"babel-eslint": "^10.1.0",
"eslint": "^7.12.0",
"eslint-config-airbnb": "^18.2.0",
"eslint-config-prettier": "^6.14.0",
"eslint-config-react-app": "^6.0.0",
"eslint-plugin-flowtype": "^5.2.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-jest": "^24.1.0",
"eslint-plugin-jsx-a11y": "^6.3.1",
"eslint-plugin-prettier": "^3.1.4",
"eslint-plugin-react": "^7.21.5",
"eslint-plugin-react-hooks": "^4.2.0",
"eslint-plugin-testing-library": "^3.9.2",
"node-sass": "^4.14.1",
"prettier": "^2.1.2",
"react-app-rewired": "^2.1.6"
}
}
这是我的eslintrc.json:(注意我还没有添加所有的规则)
{
"env": {
"browser": true,
"es2021": true
},
"extends": ["react-app", "prettier"],
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 12,
"sourceType": "module"
},
"plugins": ["react", "prettier"],
"rules": {
"prettier/prettier": [
"error",
{
"printWidth": 140,
"singleQuote": true,
"editor.formatOnSave": true,
"arrowParens": "always",
"jsxSingleQuote": true,
"tabWidth": 2,
"trailingComma": "none"
}
],
"no-unused-vars": "error"
}
}
当我运行应用程序时,由于以下错误,应用程序将无法编译:
Line 113:13: 'isLoading' is assigned a value but never used no-unused-vars
我在以前的项目中工作过,代码中显示了eslint错误,但没有导致应用程序崩溃。有人能指出我把事情弄糟的地方吗?
谢谢
我花了几个小时才找到可能的解决办法:
1-变通方法:在package.json文件中添加规则
"eslintConfig": {
"extends": ["react-app"],
"rules": {
"no-unused-vars": "warn"
},
"overrides": [
{
"files": ["**/*.ts?(x)"],
"rules": {
"max-len": "warn"
}
}
]
},
2.eslintrc.js文件,在根文件夹中添加. env文件,内容如下:
DISABLE_ESLINT_PLUGIN=true
ESLINT_NO_DEV_ERRORS=true
>
禁用ESLINT插件-将在开发和生产中禁用ESLINT网页包插件。-这是必须的。
ESLINT_无开发错误-将在开发期间将ESLINT错误转换为警告。因此,ESLint输出将不再出现在错误覆盖中。单凭这一点并不能解决这个问题。
另见这里和这里留档
我能够使用env变量修复它,因为我不使用webpack。
确保您使用的是VSCode扩展,并且安装了eslint作为开发依赖项(以及您可能需要的任何其他插件)。
要使代码在开发中处于lint状态,但不会失败,请将此添加到.env.development:ESLINT\u NO\u DEV\u ERRORS=true
要在生产版本上完全禁用eslint,请将此添加到.env.production:disable\u eslint\u PLUGIN=true
之后,它不应该失败任何构建。我不明白为什么eslint应该失败构建。它帮助我们保持代码质量,但不一定强制执行。
我有完全相同的错误,当我创建应用程序使用create-react-app
和设置eslint的应用程序。
eslint错误显示在浏览器中,而不是控制台中。
有一次,我调试了所有依赖项。似乎是react脚本
导致了我的lint错误。
react脚本的最新版本:“4.0.0”
可能有一些破坏性的更改,这可能会导致eslint在浏览器中抛出错误。
此问题已在react scipts:“4.0.3”
中修复,但默认情况下,项目中存在的eslint错误不会转换为警告。您必须创建一个.env文件,该文件应包含ESLINT\u NO\u DEV\u ERRORS=true
标志。由于此标志,您将在开发中收到eslint错误作为警告而不是错误。
在生产过程中以及在任何git钩子运行时,都会忽略此标志,这反过来会在您尝试提交包含eslint错误的代码时导致错误。
现行问题:https://html" target="_blank">github.com/facebook/create-react-app/issues/9887
在react scripts:4.0.2发布之前解决此问题的方法:
>
安装修补程序包和postinstall postinstall作为开发人员依赖项。
完成编辑后,运行纱线补丁包react脚本。这将创建一个补丁文件夹,其中包含依赖项补丁。
现在,因为我们不想每次安装依赖项时都这样做。我们将向package.json文件中添加另一个脚本。
“安装后”:“修补程序包”
。
每次安装依赖项时,上述脚本都将运行。请记住,您还必须将packages文件夹推送到您的回购协议中。如果您需要更改,也可以在部署应用程序时更改。
感谢@fernandaad提供此解决方案。
不得不降级到react-cript: 3.4.4
版本,因为现在没有可用的解决方案。现在,错误被抛到了控制台而不是浏览器中。
我对NodeJS是新手。我已经执行了以下命令。1.npm安装-g创建react应用程序2。创建react应用程序我的应用程序 在执行第二个命令时,我遇到了如下错误 安装软件包。这可能需要几分钟。正在安装react、react dom和react脚本。。。 uglifyjs-webpack-plugin@0.4.6安装后E:\Projects\HighAvenue\Dashboard\dashboa
我正在通过官方的反应教程,并希望使用我自己的文本编辑器;所以我按照他们的指示,并一路做到这一点,我创建我的应用程序通过"npx创建-反应-应用我的应用程序"。之后,当我运行命令"npm start"我得到以下结果: 我卸载并重新安装了多个节点;我还尝试添加了一个。我的项目根目录中的env文件如下所述:npm start on new create react app build返回ELIFECYC
当我尝试在华为P9上运行我的应用程序时,我得到了一个错误 日志: 07-04 10:42:56.045:W/System.err(955):java.lang.NullPoInterException:尝试对空对象引用调用虚拟方法“int com.huawie.lcagent.client.logCollectManager.GetUserType()”07-04 10:42:56.046:W/S
使用npx create react应用程序创建新的react项目时,该过程停止并出现错误:内部/modules/cjs/loader。js:311。 内部/模块/cjs/loader.js:311抛出err;^错误:找不到模块'C:\用户\shonm\桌面\Web开发\WebSites\test1\node_modules\fs-额外\lib\index.js'。请验证package.json是
我正在学习React并尝试创建一个简单的React应用程序。我想使用ES2015模块和一些ES6功能,所以我通过npm安装了Babel和browserify。 这些是我安装的节点模块: 巴贝尔 Babel-preet-es2015 巴贝尔-预设-反应 Babelify 浏览器 大口喝 反应 乙烯基缓冲液 乙烯基-源-流 反应 report-dom 我想使脚本成几个文件(像itemComponent
wan I在react命令中为创建应用程序npx create react app Its创建新应用程序显示此错误在2166个扫描包中发现8个漏洞(4个中等,4个高)。8个漏洞需要手动审查。有关详细信息,请参阅完整报告。我使用的是node.js的最新版本,我运行了注释“npm audit fix”或“npm audit fix--force”,但它没有修复我的错误,这里是所有错误命令“npm au