我无法诊断棉绒配置中的异常。它希望我使用双引号,但我不必介意,但是我不明白为什么为什么,因为据我所知,我的所有规则都希望使用单引号。
这是针对React应用的。我的设置使用带有Airbnb和Prettier的ESLint。我根据相关插件的教程和文档安装了软件包。我正在使用VSCode编辑。
我在package.json
中有以下相关软件包(在项目根目录中):
"eslint": "^5.16.0",
"eslint-config-airbnb": "^17.1.0",
"eslint-config-prettier": "^4.3.0",
"eslint-import-resolver-webpack": "^0.11.1",
"eslint-plugin-import": "^2.17.2",
"eslint-plugin-jsx-a11y": "^6.2.1",
"eslint-plugin-prettier": "^3.1.0",
"eslint-plugin-react": "^7.13.0",
"prettier": "^1.17.1",
我在.eslintrc.json
中也有以下内容(也在项目根目录中)。这包括我为项目指定的一些自定义规则。
{
"extends": ["airbnb", "prettier", "prettier/react"],
"plugins": ["react", "jest", "prettier"],
"rules": {
"react/jsx-filename-extension": [
1,
{
"extensions": [".js", "jsx"]
}
],
"prettier/prettier": "error",
"class-methods-use-this": 0,
"no-else-return": 0,
"no-plusplus": [2, { "allowForLoopAfterthoughts": true }],
"no-param-reassign": 0,
"no-use-before-define": ["error", { "functions": false }],
"import/no-named-as-default": 0
我的主要问题:为什么单引号显示为错误?
这是由于我不知道的配置中的某个规则引起的吗?我是否没有正确包含其中一个插件?
我知道某些规则可能需要在JSX中使用双引号,但这会抱怨在任何地方都使用双引号。
当前,我没有使用任何.jsx
文件。
屏幕截图:
[Edit 6/3/19]我可能已经找到了一些信息,但是我仍然有些困惑...阅读eslint-config-prettier
documentation,这是否意味着双引号实际上是默认的?但是根据官方Prettier docs的说法,单引号应该是默认的,对吗?我读对了吗?
答案 0 :(得分:0)
我认为,这是对Prettier违约的根本误解; 确实想要双引号,而不是单引号,但我误读了相反的意思。
答案 1 :(得分:0)
您可以尝试使用quotes
选项而不是prettier
吗?这样您就可以明确告知eslint您要在JS中使用单引号。
"quotes": ["error", "single"]
如果要在JSX中使用双引号,则可以使用以下设置。
"jsx-quotes": ["error", "prefer-double"]
我正在我正在从事的项目中同时使用这两种方法,到目前为止没有问题。希望对您有所帮助。