191

node.js をコーディングして CoffeeScript を使用する場合、どのような制限がありますか? JSでできることは何でもできますか?

4

8 に答える 8

177

はい、CoffeeScript は単純に純粋な JS にコンパイルされるため、node.js と完全に互換性があります。

ノードで CoffeeScripts を実行するには、次のいずれかを実行できます。

  • コンパイルするために入力coffee -c example.coffeeし、その後にコンパイルnode example.jsされた JS を実行します。
  • 入力するだけcoffee example.coffee
于 2011-01-13T12:04:44.087 に答える
89

NodeでCoffeeScriptファイルを直接実行できるだけでなく、

coffee source.coffee

また、JavaScript ファイルであるかのように要求することもできます。たとえばlib.coffee、ディレクトリにある場合は、次のように書くことができます

require './lib'

同じディレクトリにある別の CoffeeScript ファイルから。(JavaScript ファイルからこれを行うにrequire 'coffee-script'は、先頭に追加する必要があります。) したがって、npm などのツールを使用して展開用にプロジェクトをパッケージ化する場合を除き、Node の下で明示的にコンパイルを行う必要はありません。

1 つの注意点: スタック トレースで表示される行番号は、CoffeeScript を直接実行している場合でも、コンパイルされた JavaScript を参照します (そのため、JavaScript にアクセスできません)。多くの人がこれを修正しようとしていますが、それは大きな課題です。

于 2011-01-13T17:59:37.547 に答える
57

はい、これは別のより簡単な答えです。2 つの手順を実行する必要があります。

  1. npm install coffee-script --save # I assume you would have done this already.

  2. of でrequire('coffee-script')実行される最初の行として持っています。(更新:コーヒースクリプト1.7以降、あなたがしなければならないでしょうserver.jsapp.jsrequire('coffee-script/register'))

これにより、アプリに coffeescript コンパイラが登録され、コーヒー ファイルと js ファイルを同等に扱うことができるようになります (つまり、コーヒー ファイルも要求できるということです!)。

この方法では、1 つのファイル (app.js) だけをバニラ JavaScript で記述する必要があります。ただし、アプリを実行するために、最初にグローバルにインストールされた依存関係として、デプロイ環境に coffeescript が必要ないという利点があります。この場合、コードをコピーするだけで、npm install必要なすべてのパッケージをインストールできます。そしてnpm start、あなたを稼働させます

于 2013-10-27T10:35:25.940 に答える
15

ビデオチュートリアル

Pedro Teixeiraによる素晴らしいチュートリアル シリーズを見てきました。彼はノード チュートリアルのシリーズ全体を作成しています。彼は、編集された .coffee ファイルの自動検出とコンパイルとリロードのための nodemon への参照を含めています。

  1. Coffeescript と Node.js
  2. ノードモン
于 2011-05-03T20:18:57.927 に答える
11

CoffeeScript の単純な連続コンパイルであるJitterを使用できます。

npm install -g jitter

例えば、coffee ディレクトリにたくさんの *.coffee ファイルがあり、それらを js ディレクトリにコンパイルしたいとします。次に実行します。

jitter coffee js

Jitter は終了 (Ctrl+C) するまでバックグラウンドで実行され、新しい変更を監視します。

于 2012-12-20T22:14:20.810 に答える
8

Coffeescript + ExpressJS + Couchdb + Redis + 認証:

https://gist.github.com/652819

于 2011-01-15T12:10:25.113 に答える
6

これを試して

#!/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

于 2012-08-18T18:50:54.513 に答える
0

すべてのcoffeescriptファイル(subdirを含む1つのディレクトリ内)をjavascriptに変更するたびに自動的にコンパイルする場合は、次のコマンドを使用します。

find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc
于 2012-05-22T15:37:04.393 に答える