2015-06-24 5 views
7

Я хотел был бы иметь возможность включить архив с данным заказом во время компиляции моих coffeescript файлов в js с кофеваркой.Как подать заявку на файлы, скомпилированные с помощью кофейной решетки

Я хотел бы иметь файлы settings.coffee, constants.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 возможных решений, но все они не так элегантно:

  • Я не уверен, но попробуйте установить inputPaths аргумент coffeebar(inputPaths, [options]) в качестве явного массива путей с именами файлов , где вы можете установить порядок элементов массива, как вам нужно

  • попытку переименовать файлы с пит префиксов, как 01_settiings.coffee и так далее, для того, что вам нужно, так coffeebar будет обрабатывать его в таком порядке

  • вы можете использовать дополнительный плагин, как rigger включить все файлы, необходимые в нужной последовательности в одном корневом файле, и процесс этот файл с coffeebar

+0

Я думал, это подходит, но я хотел бы фрагмент кода в порядке подтвердить этот ответ –

Смежные вопросы