私が思う唯一の解決策は、ビルドスクリプト内で手動コンパイル順を作成することです。 ファイル名で順序付けされたコレクションを作成します。ループとして、新しい大きな文字列を繰り返して1つのファイルとしてコンパイルできます。
次の内容のCakefileを作成するには、まず構文をチェックします。 cake build
で実行します。それは動作するはず、ケーキにはCoffeeScriptが付属しています。最初のループの前に
CoffeeScriptのhttps://github.com/jashkenas/coffee-script/wiki/[HowTo]-Compiling-and-Setting-Up-Build-Toolsのウィキでも文書化
fs = require 'fs'
{exec} = require 'child_process'
viewsDir = "src/view"
coffeeFiles = [
'B'
'A'
]
task 'build'
# loops through coffeeFiles.
for file, index in coffeeFiles then do (file, index) ->
fs.readFile "#{viewsDir}/#{file}", 'utf8', (err, content) ->
appCoffee[index] = content
compile() if --remaining is 0
compile = ->
fs.writeFile 'js/app.coffee', appCoffee.join('\n\n'), 'utf8', (err) ->
throw err if err
exec 'coffee --compile js/app.coffee', (err, stdout, stderr) ->
throw err if err
console.log stdout + stderr
# you can skip deleting the app.coffee file
fs.unlink 'js/app.coffee', (err) ->
throw err if err
console.log 'Created app.coffe, compiled to app.js and removes app.coffee'
# maybe additional taks
# invoke 'test'
あなたはまた、別のディレクトリを介してループを作ることができます。そして、リストされていないものの前に処理されるcoffeeFilesにファイル名をリストし、残りはfs.readDir()でリストに追加することができます。
出典
2012-07-08 23:50:02
vik
これは、標準の* nix動作の結果です。すべてがフォルダを含めてアルファベット順にリストされています。 --compile src/view/B.coffee src/view/a/src/App.coffee'を試してみてください。 –
すべてのsrc/view/[。coffee]ファイルを追加してから、すべてのsrc/view/[folders]を追加した場合にのみ動作します。一般的なsrc/view/ – imbrizi
で動作しません--compile src/view/*。coffee src/view/a/src/App.coffee'は私のために働いた –