我正在try 创建一个NPM脚本的regex全局.这是我所拥有的:

"format": "prettier-eslint --write \"{,!(node_modules|cypressTests)/**/}*.{js,json,vue}\""

这将格式化当前不在node_MODULES文件夹或cypressTests文件夹中的所有.js、.json和.vue文件.

The below is my problem:

cypressTests文件夹还包含我不想格式化的node_modules文件夹.我如何排除./cypressTests/node_modules,就像我当前对文件夹./node_modules所做的那样?

我试着这样做,但这不起作用.然后,出于某种原因,它几乎排除了整个项目中的所有内容:

"format": "prettier-eslint --write \"{,!(node_modules|cypressTests/node_modules)/**/}*.{js,json,vue}\""

推荐答案

更漂亮的有一个更容易忽略文件的解决方案.您可以设置为.prettierignore file(使用.gitignore syntax)以在美化时忽略文件.该文件应放置在项目的根目录中.我相信在您的例子中,文件中的语法应该是:

**/node_modules

这实际上是Pretier在默认情况下忽略的(以及其他一些源代码控制文件夹排除项)--因此,除非您已经有.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相关问答推荐

如何将信号从终端窗口发送到运行在Raspberry Pi上的Puppeteer/Node.js上的webscraper

CloudTasksClient在Firebase Function % s onDocumentCreated中实例化时导致错误

如何使用多个OR参数从多个集合聚合

NodeJS中的Vertex AI GoogleAuthError

如果非SQL函数在事务内部运行失败,PG-Promise事务会回滚吗?

如何使用聚合管道交换键值对

车把模板引擎循环问题

Prisma 和 Nextjs:重新部署之前内容不会更新

在构建完成后,将AddedFiles文件夹的内容复制到dist文件夹

TypeScript Eslint警告了一个AWS客户端构造函数(dynamodb),但没有警告另一个(s3)

在生产环境中,Nest实例启动时抛出不完整的导入错误

MongoDB - 查找查询以判断是否存在少量字段,结合字段上的 AND

找不到react 模块:错误:默认条件应该是最后一个

如何找到特定文档并更新数组中特定键的值?

如何使用 node 在 koa.js 中发送响应

使用 Forms API 进行批量更新时生成 itemId

如何调用同名的两个函数?

获取数组的至少一个元素包含子字符串的文档

如何申请在NextJS上下载文件的许可?

tsconfig.json 中模块类型的区别