回答:
はい、CoffeeScriptは単純に純粋なJSにコンパイルされ、node.jsと完全に互換性があります。
ノードでCoffeeScriptを実行するには、次のいずれかを実行できます。
coffee -c example.coffee
してコンパイルし、続いてコンパイルnode example.js
されたJSを実行します。coffee example.coffee
require
限り、あなたのようにコンパイルされていないのCoffeeScriptファイルをrequire('coffee-script')
事前に。
coffee example.coffee
主に開発のために実行していますか?それとも、生産で十分に安定していますか?
sudo npm install -g coffee-script
NodeでCoffeeScriptファイルを直接実行できるだけでなく、
coffee source.coffee
JavaScriptファイルのように要求することもできます。たとえばlib.coffee
、ディレクトリにいる場合、次のように書くことができます
require './lib'
同じディレクトリ内の別のCoffeeScriptファイルから。(JavaScriptファイルからこれを行うにrequire 'coffee-script'
は、先頭に追加する必要があります。)したがって、npmなどのツールでプロジェクトをデプロイ用にパッケージ化している場合を除き、Nodeの下で明示的にコンパイルする必要はありません。
注意点:スタックトレースでは、CoffeeScriptを直接実行している場合でも(JavaScriptにアクセスできないため)、表示される行番号はコンパイルされたJavaScriptを参照します。多くの人々がこれを修正しようとしていますが、それは大きな課題です。
はい、ここに別の簡単な答えがあります。2つのステップを実行する必要があります。
npm install coffee-script --save # I assume you would have done this already
。
持っているrequire('coffee-script')
で実行になるだろう最初の行としてserver.js
のapp.js
。(更新: coffee script 1.7以降では、require('coffee-script/register'))
これにより、アプリにcoffeescriptコンパイラーが登録され、コーヒーファイルとjsファイルを同等に処理できるようになります(つまり、コーヒーファイルも要求できるということです)。
この方法では、1つのファイル(app.js)のみをバニラJavaScriptで記述する必要があります。ただし、利点は、アプリを実行するために、デプロイ環境に最初にグローバルにインストールされた依存関係としてcoffeescriptを含める必要がないことです。この場合、コードをコピーするだけで、npm install
必要なすべてのパッケージをインストールできます。そしてnpm start
、あなたが稼働しているでしょう
ビデオチュートリアル
Pedro Teixeiraによるすばらしいチュートリアルシリーズを見ました。彼はノードチュートリアルに関するシリーズ全体を作成しています。編集された.coffeeファイルの自動検出とコンパイルおよび再読み込みのためのnodemonへの参照が含まれています。
CoffeeScriptの単純な連続コンパイルであるJitterを使用できます。
npm install -g jitter
たくさんの* .coffeeファイルがcoffeeディレクトリにあり、それらをjsディレクトリにコンパイルするとします。次に実行します:
jitter coffee js
ジッターは、終了するまでバックグラウンドで実行され(Ctrl + C)、新しい変更を監視します。
これを試して
#!/usr/bin/env coffee
v = 78
console.log "The value of v is '#{v}'"
次に行います:
chmod +x demo.coffee
./demo.coffee
CoffeeScriptはノードとかなり強固に統合されています。「コーヒースクリプト」モジュールが読み込まれると、require('coffee-script')
上記のデモ版のシーバンによって、または実行によってcoffee demo.coffee
読み込まれます。読み込まれるrequire('./foo')
と、foo.coffee