干净维护的连接步骤——删除临时文件?

Cleanly-maintained concat steps -- deleting temp files?

使用 grunt-contrib-concat,我有以下条目:

application: {
    files: {
      'purgatory/js/appbase.js': [
          'src/js/**/*.js', '!src/js/**/tests/**', '!src/js/**/workers/**'
      ],
      'purgatory/js/appworkers.js': [
          'src/js/workers/shared.js', 'src/js/workers/*.js'
      ],
      'purgatory/js/application.js': [
          'purgatory/js/appbase.js', 'purgatory/js/appworkers.js'
      ]
    }
}

解释是这样的:

"purgatory" 就是我所说的暂存区。理论上,临时文件可以存在于此,但不一定会进入生产环境。因此,在 "application" 任务中发生的事情是我构建了一个名为 "appbase" 的临时文件,其中包含我的大部分逻辑,但我的网络工作者和测试除外。我让工人阶段分开,因为顺序很重要。然后我assemble将两个临时文件放入最终的应用程序文件中。

有效。

但我当前的进程最终只是抓取所有 purgatory/js,因为直到今天,我的 none 个文件实际上是临时文件,它们都是最终目标。我想继续这样做,而不是先细化复制阶段或 运行 清理临时文件。

我不禁觉得我错过了 grunt-contrib-concat 中的一个机会。

发生的事情,

"grab everything except workers and tests, but then grab a particular workers file, and then grab the rest of the workers files".

我觉得如果我能更好地理解目标地图,我就可以一次性完成所有工作,而不必费心处理两个临时文件。最终目标是只将 "application.js" 送到炼狱。这意味着没有其他临时文件需要清理或以其他方式处理。有什么建议吗?

好吧,答案就在眼前:您只需将路径列表视为渐进构建的过滤器即可。因此,您可以排除列表前面的所有 "workers",然后在后面包含特定的排序文件。全部在同一个条目中:

application: {
    files: {
      'purgatory/js/application.js': [
          'src/js/**/*.js', '!src/js/**/tests/**', '!src/js/**/workers/**', 'src/js/workers/shared.js', 'src/js/workers/*.js'
      ]
}

当然,完成后,您可以只使用 src/dest 属性,如果您更喜欢的话。