Pau*_*aul 16 javascript prettier
我想要更漂亮地递归解析我的JavaScript文件,而不是指定它应该检查文件的每个文件夹.
我想做点什么:
prettier --write "all_js_files_except_node_modules_folder"
我对他们的文档没有太多了解.有什么建议?
谢谢,保罗
Joe*_*lay 22
几个星期前的这个问题似乎回答了你的问题.TL; DR:
prettier "{,!(node_modules)/**/}*.js"
Run Code Online (Sandbox Code Playgroud)
对于来这里寻找一个简单示例(没有括号、ors 等)来回答标题中问题的剪切和粘贴者,以下可能是一个有用的 glob 示例:
prettier --write "app/**/*.ts"
*.ts该命令以递归方式对该目录下的所有文件运行 prettier app。
作为 \xd7\xa0\xd7\xa9\xd7\x9e\xd7\x94 \xd7\xa7\xd7\xa9\xd7\x95\xd7\x97\xd7\x94 (坚韧的灵魂?)所指出的,从命令行更漂亮已经忽略node_modules文件夹:
\n\nPrettier CLI 将忽略位于
\nnode_modules目录中的文件。要选择退出此行为,请使用--with-node-modules标志。
如果你想忽略另一个文件夹,soul 再次提出了正确的想法,建议使用.prettierignore 文件,该文件将由 CLI 使用。
\n包括...
\n**/folderToIgnore\nRun Code Online (Sandbox Code Playgroud)\n...在您的.prettierignore(注意前面.!!!.prettierignore)文件中忽略具有该名称的每个文件夹folderToIgnore文件夹,无论路径如何。
只要.prettierignore位于同一个文件夹或文件路径的上游,就应该没问题,但如果有多个,请注意交互.prettierignores,请注意交互。
如果您像我一样,则不会意识到目标文件使用了globs格式。
您可以在此处了解更多信息。(检查有关特殊字符的说明)。如果您想了解更多信息,请点击此处:参见 http //tldp.org/LDP/abs/html/globbingref.html
我的文件夹结构:
components/
pages/
node_modules/
package.json
server.js
Run Code Online (Sandbox Code Playgroud)
我想忽略package.json和node_modules/。我通过以下命令解决了我的需求:
prettier --write "{*.js,!(node*)**/*.js}"`
Run Code Online (Sandbox Code Playgroud)
的 {}是一种扩展机制,使我可以使用多个过滤条件。就我而言:
1::*.js将执行命令的根目录中的所有JS文件作为目标
2 ::!(node*)**/*.js将所有文件夹和子文件夹中的所有JS文件作为目标(递归部分是使用来获得的**)