Node.jsをコーディングしてCoffeeScriptを使用する場合の制限は何ですか? JSでできることは何でもできますか?
はい、CoffeeScriptは単純に純粋なJSにコンパイルされるため、node.jsと完全に互換性があります。
ノードでCoffeeScriptsを実行するには、次のいずれかを実行できます。
coffee -c example.coffee
と入力してコンパイルし、続いてnode example.js
と入力して、コンパイルされたJSを実行します。coffee example.coffee
と入力するだけですCoffeeScriptファイルをNodeで直接実行できるだけでなく、
coffee source.coffee
javaScriptファイルであるかのように要求することもできます。たとえば、ディレクトリにlib.coffee
がある場合、次のように記述できます。
require './lib'
同じディレクトリにある別のCoffeeScriptファイルから。 (JavaScriptファイルからこれを行うには、上部にrequire 'coffee-script'
を追加する必要があります。)したがって、プロジェクトをデプロイメント用にパッケージ化する場合を除き、Nodeで明示的にコンパイルする必要はありません。 npmのようなツール。
1つの注意点:スタックトレースでは、CoffeeScriptを直接実行している場合でも(JavaScriptにアクセスできない場合)、表示される行番号はコンパイル済みのJavaScriptを参照します。多くの人々がこれを修正しようとしていますが、それは大きな挑戦です。
はい、これは別の簡単な答えです。 2つのステップを実行する必要があります。
npm install coffee-script --save # I assume you would have done this already
。
server.js
of app.js
で実行される最初の行としてrequire('coffee-script')
を使用します。 (PDATE:コーヒースクリプト1.7以降では、require('coffee-script/register'))
を実行する必要があります。
これにより、アプリにcoffeescriptコンパイラが登録され、コーヒーファイルとjsファイルの処理を均等に開始できるようになります(つまり、コーヒーファイルも必要になります!)。
この方法では、Vanilla javascriptで1つのファイル(app.js)のみを記述する必要があります。ただし、アプリケーションを実行するための初期のグローバルにインストールされた依存関係として、展開環境にcoffeescriptが必要ないという利点があります。この場合、コードをコピーするだけで、npm install
は必要なすべてのパッケージをインストールします。 npm start
を使用すると実行できます
ビデオチュートリアル
Pedro Teixeiraによるすばらしいチュートリアルシリーズを見ました。彼はノードチュートリアルでシリーズ全体を構築しています。彼は、編集された.coffeeファイルの自動検出とコンパイルおよび再ロードのためのnodemonへの参照を含んでいます。
Jitter を使用できます。これは、CoffeeScriptの単純な連続コンパイルです。
npm install -g jitter
Coffeeディレクトリに多数の* .coffeeファイルがあり、それらをjsディレクトリにコンパイルするとします。次に実行します:
jitter coffee js
Jitterは、終了するまで(Ctrl + C)、新しい変更を監視するまでバックグラウンドで実行されます。
Coffeescript + ExpressJS + Couchdb + Redis +認証:
これを試して
#!/usr/bin/env coffee
v = 78
console.log "The value of v is '#{v}'"
それから:
chmod +x demo.coffee
./demo.coffee
CoffeeScriptはノードとかなり強固に統合されています。 「coffee-script」モジュールがロードされると、require('coffee-script')
、上記でデモしたshe-bang、またはcoffee demo.coffee
...を実行することで、ロードされたらrequire('./foo')
を持ち込むfoo.coffee
すべてのcoffeescriptファイルをjavascriptに変更するたびに(subdirを含む1つのディレクトリで)自動的にコンパイルする場合は、次のコマンドを使用します。
find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc