我想请prettier递归地解析我的JavaScript文件,而不是指定应该检查文件的每个文件夹。
我想做类似的事情:
prettier --write "all_js_files_except_node_modules_folder"
我在他们的文档中找不到多少内容。有什么建议吗?
谢谢, 保罗
答案 0 :(得分:20)
This issue似乎回答了你的问题。 TL; DR:
prettier "{,!(node_modules)/**/}*.js"
答案 1 :(得分:5)
如果你像我一样,你没有意识到目标文件使用的是globs格式。
您可以阅读更多相关信息here。 (查看有关特殊字符的说明)。如果您想了解更多信息,请点击此处:http://tldp.org/LDP/abs/html/globbingref.html
我的文件夹结构:
components/
pages/
node_modules/
package.json
server.js
我想忽略package.json
和node_modules/
。我用这个命令解决了我的需求:
prettier --write "{*.js,!(node*)**/*.js}"`
{}
是一种扩展机制,允许我使用多个过滤条件。在我的情况下有2:
1:*.js
:定位执行命令的根目录中的所有JS文件
2:!(node*)**/*.js
:定位所有文件夹和子文件夹中的所有JS文件(使用**
获取递归部分)
答案 2 :(得分:5)
只需运行 prettier --write .
并使用 .prettierignore
文件告诉它要忽略什么,但默认情况下它会忽略 node_modules
。
答案 3 :(得分:1)
此解决方案最适合我。这是我发现的唯一会打入每个文件的方法,无论其嵌套程度如何:
package.json
"scripts": {
"format": "prettier --write {,*/**/}*.{js,jsx,json}",
},
.prettierignore
node_modules
build
答案 4 :(得分:0)
对于需要简单示例(没有括号,or
等)的剪切和粘贴程序,这可能是一个有用的glob示例:
prettier --write "app/**/*.ts"
保护*.ts
目录及以下目录中的每个app
文件。
答案 5 :(得分:0)
添加为 npm 脚本对我有用:
它将递归修复以下文件。ext 使用 prettierrc
文件中定义的以下规则集。
重要:.<扩展名 || MULTIPLE_EXTENSIONS> 例如'./src//**/.{js,jsx,scss,md,json}'
不要错过引号 -> ' PATH>.
{
"name": "compentence-journey",
"version": "0.1.0",
"private": true,
"scripts": {
"prettier.fix": "prettier --check --write './src/*/**/*.{js,jsx,scss,md,json}'",
},
...
}
{
"trailingComma": "es5",
"tabWidth": 4,
"semi": false,
"singleQuote": true
}
/config
# Dependency directories
node_modules/
# Publish Directory
build/
# Root level folders/files
/package.json