0

カフェインの世界に入ったばかりで、Cakefilesに少し問題があります。

Cakefilesがコーヒースクリプト構文を使用していることは私の理解です。子ディレクトリでファイルを検索する場合は、fsモジュールを要求し、nodejsアプリを使用しているかのように必要なことをすべて実行する必要がありますか?プロジェクト全体で必要なCakefileは1つだけですよね?Cakefileを使用するには、package.jsonまたはプロジェクトに何か変更を加える必要がありますか?

そうは言っても、このおいしいケーキファイルのチュートリアルでいくつかの例を見ていると、次のスニペットに出くわしました。

{exec} = require 'child_process'
task 'build', 'Build project from src/*.coffee to lib/*.js', ->
  exec 'coffee --compile --output lib/ src/', (err, stdout, stderr) ->
    throw err if err
    console.log stdout + stderr

私は自分のcoffescriptsをディレクトリの下に置き、見つかったコーヒースクリプトごと/coffeeにコンパイルするようにしたかったのです。/たとえばroutes/coffee/index.coffee、コンパイルされたjsが。として出力されることがわかった場合routes/index.js。それを行うために、私は実行しようとし$ coffee --output ../ .ましたが、それが機能しなかったので(試してみる価値があると思いましたが)、Cakefileでそれを試してみました。

{exec} = require 'child_process'
task 'build', 'Build project from *.coffee to ../*.js', ->
  exec 'coffee --compile --output ../ .', (err, stdout, stderr) ->
    throw err if err
    console.log stdout + stderr

これは、上記のスニペットの変更されたバージョンです。それもうまくいきませんでした。私は、pwdを記憶し、1つのディレクトリに移動し、コーヒースクリプトのコンパイル中に出力をそのディレクトリとして設定する関数を記述できるように、cakefilesについて詳しく学習しようとしています。

あなたが私を解決策または解決策を見つけるのを助けることができる情報源に私を導くことができれば、私はそれをいただければ幸いです。ただし、ドキュメントから高度なコーヒースクリプトを理解していないことを覚えておいてください...結果のある例は、開発のスキルに役立つでしょう。

4

1 に答える 1

3

ここでの主な違いは、作業ディレクトリだと思います。

- root
-- lib
--- foo.js <- target
-- src
--- foo.coffee

その設定があり、からroot、を実行すると、とが両方ともから簡単に見つかるcoffee --compile --output lib/ src/ため、それが機能します。root/libroot/srcroot

- root
-- foo.js <- target
-- coffee
--- foo.coffee

ここで、root実行したときからcoffee --compile --output ../ ./、出力ディレクトリをに設定しroot/..、入力ディレクトリをに設定しますroot/.(または単にroot。)

つまり、このコマンドを実行するときは、次のようにしrootます。

coffee --compile --output ./ coffee/

または、あなたcd coffee/の場合、これ:

cd coffee
coffee --compile --output ../ ./

正常に動作するはずです。

于 2012-12-18T07:01:51.867 に答える