2013-11-25 94 views
1

如何根據輸入文件名指定輸出文件名?如何根據輸入文件名指定輸出文件名?

我專門嘗試使用咕嚕任務(grunt-closure-toolsgrunt-closure-compiler)編譯(縮小)多個JavaScript文件,假設所有滿足'/source/**/*.js',並希望將他們輸出格式$(original_file_path_without_extension).min.js

在我已經全部樣本可以看到,輸出僅被指定爲單個文件,但我需要將每個文件分別縮小到原始文件所在的同一文件夾中。

回答

2

最後,我想出了配置。訣竅在於動態構建文件對象(如描述here)。我的grunt-closure-tools的配置如下所示:

closureCompiler: { 
    options: { 
     // .. YOUR OPTIONS (ommited) 
    }, 
    minify: { 
     files: [ 
      { 
       expand: true, 
       src: ['source/**/*.js', '!source/**/*.min.js'], 
       ext: '.min.js' 
      } 
     ] 
    } 
} 
0

Closure編譯器旨在將您的所有JavaScript同時編譯到單個文件中,以最大限度地減少請求。有真的只有兩個,其中單獨的輸出文件都支持使用情況:

多個模塊

爲了保存重命名的引用,你必須同時編譯的文件。做到這一點並維護單獨文件的方法是使用模塊。見How do I split my javascript into modules using Google's Closure Compiler?

非關聯文件

如果你的文件不具有相互依存關係,那麼只需在運行繁重的任務,多次 - 每個文件。

+0

這些文件有些相關,它們包含單頁應用程序的角度模塊。只有在需要時纔會加載它們(取決於用戶的工作流程)。無論如何感謝GCC的評論。 – eXavier