React 忽略 .prettierignore 文件 [编辑:与 prettier 无关]
React ignore .prettierignore file [EDIT: nothing to do with prettier]
我拼命尝试在我的 React js 项目的 js 文件中保留一些转义字符 (\
),因为我需要它们。但是有人自动删除它们,我想它更漂亮。
这是我的配置:
└── src
| └── folder
| └── fileToIgnore.js
├──.prettierrc
├──.prettierignore
├── package.json
在我的 package.json
我有这个 :
{
"lint-staged": {
"*.{js,json,css,md}": [
"prettier --write",
"git add"
],
},
"dependencies": {
"react": "^16.6.0",
"react-dom": "^16.6.0",
...
},
"devDependencies": {
"husky": "^0.14.3",
"lint-staged": "^7.1.2",
"prettier": "1.13.2",
"source-map-explorer": "^1.6.0"
},
"scripts": {
"precommit": "lint-staged",
"start": ". ./scripts/build-vars.sh && react-scripts start",
...
}
}
在我的 fileToIgnore.js
我有那个 :
/* eslint-disable no-useless-escape */
export const setClickTag = `'use strict';function getParameterByName(a){var b=RegExp('[?&]'+a+'=([^&]*)').exec(window.location.search);return b&&decodeURIComponent(b[1].replace(/\+/g,' '))}var clickTag=getParameterByName('clickTag');`;
在我的 .prettierrc
我有那个
singleQuote: true
trailingComma: all
printWidth: 120
解决方案 1
我试图创建一个 .prettierignore
文件:
/src/folder/fileToIgnore.js
**/src/folder/fileToIgnore.js
src/folder/fileToIgnore.js
src/folder/*.js
但没有成功
解决方案 2
我在每个我想忽略的变量之前添加了 // prettier-ignore
,但没有成功
解决方案 3
我试图像这样修改 packager.json
:
"lint-staged": {
"*.{js,json,css,md}": [
"prettier --write",
"git add"
],
"ignore":["**/src/folder/fileToIgnore.js"]
},
但这也不是解决方案。
我真的卡在那里了,我在想也许 React 正在覆盖一些参数?或不 ?我搞不清楚了 !
感谢您的帮助!!
这与 prettier 无关,现在您提供了一个示例,很容易看出您没有转义字符串。
你不能在 JS 中只做 \
,要在字符串中的 JS 中做一个反斜杠你需要使用 \
.
考虑到这一点,在您的字符串中您有 -> replace(/\+/g,' ')
,由于字符串转义,这需要 replace(/\+/g,' ')
。
我拼命尝试在我的 React js 项目的 js 文件中保留一些转义字符 (\
),因为我需要它们。但是有人自动删除它们,我想它更漂亮。
这是我的配置:
└── src
| └── folder
| └── fileToIgnore.js
├──.prettierrc
├──.prettierignore
├── package.json
在我的 package.json
我有这个 :
{
"lint-staged": {
"*.{js,json,css,md}": [
"prettier --write",
"git add"
],
},
"dependencies": {
"react": "^16.6.0",
"react-dom": "^16.6.0",
...
},
"devDependencies": {
"husky": "^0.14.3",
"lint-staged": "^7.1.2",
"prettier": "1.13.2",
"source-map-explorer": "^1.6.0"
},
"scripts": {
"precommit": "lint-staged",
"start": ". ./scripts/build-vars.sh && react-scripts start",
...
}
}
在我的 fileToIgnore.js
我有那个 :
/* eslint-disable no-useless-escape */
export const setClickTag = `'use strict';function getParameterByName(a){var b=RegExp('[?&]'+a+'=([^&]*)').exec(window.location.search);return b&&decodeURIComponent(b[1].replace(/\+/g,' '))}var clickTag=getParameterByName('clickTag');`;
在我的 .prettierrc
我有那个
singleQuote: true
trailingComma: all
printWidth: 120
解决方案 1
我试图创建一个 .prettierignore
文件:
/src/folder/fileToIgnore.js
**/src/folder/fileToIgnore.js
src/folder/fileToIgnore.js
src/folder/*.js
但没有成功
解决方案 2
我在每个我想忽略的变量之前添加了 // prettier-ignore
,但没有成功
解决方案 3
我试图像这样修改 packager.json
:
"lint-staged": {
"*.{js,json,css,md}": [
"prettier --write",
"git add"
],
"ignore":["**/src/folder/fileToIgnore.js"]
},
但这也不是解决方案。
我真的卡在那里了,我在想也许 React 正在覆盖一些参数?或不 ?我搞不清楚了 ! 感谢您的帮助!!
这与 prettier 无关,现在您提供了一个示例,很容易看出您没有转义字符串。
你不能在 JS 中只做 \
,要在字符串中的 JS 中做一个反斜杠你需要使用 \
.
考虑到这一点,在您的字符串中您有 -> replace(/\+/g,' ')
,由于字符串转义,这需要 replace(/\+/g,' ')
。