我正在尝试为 NPM 脚本创建一个正则表达式 glob。这是我的:
"format": "prettier-eslint --write \"{,!(node_modules|cypressTests)/**/}*.{js,json,vue}\""
目前,这会格式化所有不在 node_modules 文件夹或 cypressTests 文件夹中的 .js、.json 和 .vue 文件。
下面是我的问题:
cypressTests
文件夹还包含一个我不想格式化的 node_modules
文件夹。我如何排除 ./cypressTests/node_modules
就像我目前对文件夹 ./node_modules
所做的那样?
我这样试过,还是不行。然后由于某种原因它排除了整个项目中的几乎所有内容:
"format": "prettier-eslint --write \"{,!(node_modules|cypressTests/node_modules)/**/}*.{js,json,vue}\""
最佳答案
Prettier 有一个更简单的忽略文件的解决方案。你可以做一个.prettierignore file (使用 .gitignore syntax )在美化时忽略文件。该文件应放在项目的根目录中。我相信你的文件中的语法是:
**/node_modules
这实际上是 prettier 默认忽略的内容(在其他一些源代码控制文件夹排除项中)——所以除非你已经有一个 .prettierignore
文件,否则所有 node_modules
文件夹应该已经排除在美化之外。
命令将简单地是:
"format": "prettier-eslint --write \"**/*.{js,json,vue}\""
或者如果您希望您的 .prettierignore
文件位于其他地方:
"format": "prettier-eslint --ignore-path <path-to-ignore-file> --write \"**/*.{js,json,vue}\""
如果此解决方案对您不起作用并且您需要使用 glob 方法,我不太能弄清楚,但是 this website对于测试 glob 很方便。
关于node.js - 为什么我的 npm 脚本中的 glob 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74116073/