2015-06-24 21 views
7

Ich möchte die Datei mit einer bestimmten Reihenfolge beim Kompilieren meiner coffeescript Dateien in js mit coffebar hinzufügen können.Wie gebe ich den Dateien, die mit coffebar kompiliert wurden, einen Befehl

Ich möchte die Dateien haben settings.coffee, constants.coffee enthalten erste

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

Code Snippet

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 '----------------------------' 

Vorerst das Skript nur die Kompilierung Ganze zusammen nach seiner eigenen Logik.

Ich würde jede Hilfe zu diesem Thema schätzen.

Antwort

2

Es scheint, wie Sie drei mögliche Lösungen haben, aber nicht alle von ihnen so elegant:

  • Ich bin nicht sicher, aber versuche inputPaths Argument von coffeebar(inputPaths, [options]) als expliziter Array von Pfaden mit Dateinamen festlegen , wo Sie Reihenfolge der Array-Elemente gesetzt, wie Sie

  • versuchen müssen Dateien mit num Präfixe wie 01_settiings.coffee umbenennen und so weiter, um, was Sie brauchen, so coffeebar wird es in dieser Reihenfolge verarbeiten

  • können Sie zusätzliche Plug-in verwenden, wie rigger alle Dateien enthalten, die Sie in einer Root-Datei, und verarbeiten diese Datei mit coffeebar

+0

ich von diesen Ansätzen gedacht in gewünschter Reihenfolge müssen, aber ich würde einen Code-Snippet möge, um um diese Antwort zu bestätigen –