我希望能够在使用coffeebar将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 '----------------------------'
现在,脚本只是根据自己的逻辑将整个事物编译在一起。
我将不胜感激。
答案 0 :(得分:2)
看起来你有3个可能的解决方案,但它们都不那么优雅:
我不确定,但尝试将coffeebar(inputPaths, [options])
的inputPaths参数设置为带文件名的显式路径数组,您可以根据需要设置数组元素的顺序
尝试重命名带有num前缀的文件,例如01_settiings.coffee等等,按照您的需要,咖啡吧将按此顺序处理
您可以使用额外的插件,例如rigger,在一个根文件中按所需顺序包含所需的所有文件,并使用coffeebar处理此文件