2015-06-24 19 views
7

我希望能夠在給我的coffeescript文件編制js與咖啡吧的同時包含給定訂單的文件。如何發出一個訂單到使用咖啡吧編輯的文件

我想有文件settings.coffeeconstants.coffee包括第一

-- 
|-- settings.coffee 
|-- constants.coffee 
|-- page1.coffee 
|-- page2.coffee 

代碼段

fs   = require 'fs' 
{exec, spawn}  = require 'child_process' 
util  = require 'util' 

task 'watch', 'Coffee bar Combine and build', -> 
    coffee = spawn 'coffeebar', ['-w','-o','./../js/main/kc.js', './'] 
    coffee.stdout.on 'data', (data) -> 
     console.log data.toString().trim() 
     invoke 'minify' 

task 'minify', ' Minify JS File', -> 
    file = "./../js/main/kc" 
    util.log "Minifiying #{file}.js" 
    exec "uglifyjs #{file}.js > #{file}.min.js", (err,stdout,stderr) -> 
    if err 
     util.log "Error minifiying file" 
     util.log err 
    else 
     util.log "Minified to #{file}.min.js" 
     util.log '----------------------------' 

對於現在的腳本只編譯整個事情按照自己的邏輯結合在一起。

我將不勝感激任何幫助。

回答

2

好像你有3個潛在的解決方案,但他們都沒有那麼優雅:

  • 我不知道,但嘗試設置coffeebar(inputPaths, [options])的路徑,明確數組文件名inputPaths說法,在這裏你可以設置數組元素的順序,因爲你需要

  • 嘗試重命名與NUM前綴像01_settiings.coffee你所需要的文件等,從而,使coffeebar將處理它順序

  • ,你可以使用額外的插件,像rigger包括你所需的順序需要一個根文件中的所有文件,並處理此文件與coffeebar

+0

我想到了這個辦法,但我想以一個代碼段驗證此答案 –