【问题标题】:React ignore .prettierignore file [EDIT: nothing to do with prettier]反应忽略 .prettierignore 文件 [编辑:与更漂亮无关]
【发布时间】:2019-05-17 23:42:09
【问题描述】:

我拼命尝试在我的 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 正在覆盖一些参数?或不 ?我迷路了 ! 谢谢你的帮助!!

【问题讨论】:

  • 您在这里提供了很多详细信息,您完全忘记包含的一件事是您想在 JS 文件中使用 `\` 的示例。
  • 好吧,我还是会问这个问题,因为它的挑战!但是如果你问,我把文件的内容放在我的消息内容中。即使我可以使用 Regex 以外的其他方法来达到我的目标,我也很想了解如何让 prettier 正常工作!

标签: javascript reactjs eslint package.json prettier


【解决方案1】:

这与 prettier 无关,现在您提供了一个示例,很容易看出您没有转义字符串。

您不能在 JS 中只使用 \,要在 JS 中的字符串中使用反斜杠,您需要使用 \\。

现在考虑到这一点,在您的字符串中 -> replace(/\+/g,' '),由于字符串转义,这需要是 replace(/\\+/g,' ')。

【讨论】:

  • 非常感谢!
猜你喜欢
  • 1970-01-01
  • 2021-06-21
  • 2011-04-09
  • 2022-10-24
  • 2019-08-08
  • 1970-01-01
  • 1970-01-01
  • 2020-12-20
  • 2022-01-01
相关资源
最近更新 更多