【问题标题】:Node glob pattern for every .js file except .spec.js每个 .js 文件的节点 glob 模式,除了 .spec.js
【发布时间】:2014-10-29 19:44:00
【问题描述】:

我正在为 usemin 寻找更好的 glob 模式,我想查找所有 .js 文件,但排除 .spec.js 文件。到目前为止,我有以下解决方案。

<script src="components/**/*(.js|!(*.spec.js|*.scss))"></script>

我目前的解决方案要求我不断添加文件扩展名以排除它们,否则它们会被拾取,例如.html 文件。

我试图让它只查找.js 文件并从中排除.spec.js,但它似乎不起作用。

另外添加!components/**/*.spec.js 作为下面的另一个脚本似乎不起作用。

【问题讨论】:

  • 您可以排除那些具有 glob 模式的测试脚本,但也许更好的方法是将它们放在与 components 相同级别的单独 test 目录中。这样他们就可以轻松地从您的构建过程中排除。
  • 同意 +1,我有很多次了,但这次我有一个基于组件的文件夹结构,其中包含代码和规范。
  • 我将 *.spec.js 文件重命名为 *.spec

标签: javascript node.js gruntjs glob grunt-usemin


【解决方案1】:

此 glob 包括所有 *.js,但不包括 *.spec.js

components/**/!(*.spec).js

【讨论】:

  • 如果我有更多文件要忽略,例如 *.controller.js、*.module.js 等,该怎么办?我正在尝试修改您的工作答案,但到目前为止没有成功。
  • 好的,我想通了:components/**/!(*.spec|*.controller).js
  • 它编译成什么?我只是把它想象成“components/**/*.!(spec).js”,我在想正则表达式。为什么括号之间不否定星号?
  • 从另一篇文章中,我读到 node-glob 否定使用 '!' “在版本 5 中已弃用,将在版本 6 中完全删除”:see post here
  • 猜测all *.spec.js but not *.jscomponents/**/*.spec.js
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-12
  • 1970-01-01
  • 2020-03-24
  • 1970-01-01
  • 1970-01-01
  • 2013-03-11
  • 1970-01-01
相关资源
最近更新 更多