node.js をコーディングして CoffeeScript を使用する場合、どのような制限がありますか? JSでできることは何でもできますか?
8 に答える
はい、CoffeeScript は単純に純粋な JS にコンパイルされるため、node.js と完全に互換性があります。
ノードで CoffeeScripts を実行するには、次のいずれかを実行できます。
- コンパイルするために入力
coffee -c example.coffee
し、その後にコンパイルnode example.js
された JS を実行します。 - 入力するだけ
coffee example.coffee
NodeでCoffeeScriptファイルを直接実行できるだけでなく、
coffee source.coffee
また、JavaScript ファイルであるかのように要求することもできます。たとえばlib.coffee
、ディレクトリにある場合は、次のように書くことができます
require './lib'
同じディレクトリにある別の CoffeeScript ファイルから。(JavaScript ファイルからこれを行うにrequire 'coffee-script'
は、先頭に追加する必要があります。) したがって、npm などのツールを使用して展開用にプロジェクトをパッケージ化する場合を除き、Node の下で明示的にコンパイルを行う必要はありません。
1 つの注意点: スタック トレースで表示される行番号は、CoffeeScript を直接実行している場合でも、コンパイルされた JavaScript を参照します (そのため、JavaScript にアクセスできません)。多くの人がこれを修正しようとしていますが、それは大きな課題です。
はい、これは別のより簡単な答えです。2 つの手順を実行する必要があります。
npm install coffee-script --save # I assume you would have done this already
.of で
require('coffee-script')
実行される最初の行として持っています。(更新:コーヒースクリプト1.7以降、あなたがしなければならないでしょうserver.js
app.js
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
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 は node とかなりしっかりと統合されています。「coffee-script」モジュールがロードされると、require('coffee-script')
上でデモした she-bang によって、または実行するcoffee demo.coffee
ことによって ... ロードされるrequire('./foo')
と、foo.coffee
すべてのcoffeescriptファイル(subdirを含む1つのディレクトリ内)をjavascriptに変更するたびに自動的にコンパイルする場合は、次のコマンドを使用します。
find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc