ホームページ  >  記事  >  ウェブフロントエンド  >  Coffeescript_JavaScript スキルを使用して Node.js プロジェクトを作成する方法の概要

Coffeescript_JavaScript スキルを使用して Node.js プロジェクトを作成する方法の概要

WBOY
WBOYオリジナル
2016-05-16 15:47:051067ブラウズ

Node.js は、私の主な開発言語である JavaScript に基づいてアプリケーションを作成します。 CoffeeScript は、JavaScript にコンパイルされたプログラミング言語です。実際、CoffeeScript 言語は JavaScript に 1 対 1 で変換できるため、非常に柔軟に使用できます。プロジェクトに導入する方法はたくさんありますが、ここではcoffeescriptを使ってnode.jsプロジェクトを記述する方法をまとめます。

coffee コマンドを直接使用して純粋な Coffeescript プロジェクトを実行します
一般に、CoffeeScript というと、JavaScript の弟であると考えるのが自然であり、JS の影から逃れることはできません。実際、これを独立した言語と考えることができます。 ノード プラットフォームにコーヒー スクリプト パッケージをグローバルにインストールすると、コーヒー コマンドを通じてコーヒー スクリプト インタラクティブ インターフェイスに入ることができることは誰もが知っています。これを repl と呼ぶこともできます。プロジェクトが完全にコーヒーで書かれている場合は、エントリ スクリプトで直接コーヒー コマンドを使用するだけです。たとえば、エントリ スクリプトの名前が「app.coffee」の場合、次のように実行します。

コードをコピーします コードは次のとおりです:
コーヒーアプリ.コーヒー

なお、ここでのエクステンションコーヒーは省略できません。
この方法は、coffeescript を使用する最も「公式」な方法であると言えます。シンプルかつダイレクト!さらに、プロジェクトのエントリ ポイントとしてコーヒー ファイルを使用すると、プロジェクト全体がコーヒーと JS の両方と互換性を持つようになります。プロジェクト内で任意の js ファイルまたはコーヒー ファイルとモジュールを要求することができ、プロジェクト内の js ファイル内でコーヒー ファイルを要求することもできます。また、ファイルが Coffee ファイルであるか js ファイルであるかを参照する場合、名前の前の部分が競合しない限り、拡張子は必要ありません。

この方法の最大の問題は、モジュールとして使用する場合はコーヒー プロジェクトにのみ使用できることです。アプリケーションとして使用する場合は、実行環境にコーヒー スクリプトをインストールする必要があります。結局のところ、coffeescript は依然としてニッチ言語であり、モジュールとして使用されたときに js ユーザーを失ったのは残念です。

もう 1 つの欠点として考えられるのは、ノードには js エンジンしかないため、実行する前にコーヒー コードを js にコンパイルする必要があるためですが、実際にはコーヒーから js へのコンパイル速度は非常に速くなります。速い。しかし、これは通常、ファイルの先頭に書かれています。つまり、アプリケーションの起動時に、必要なファイルがすべて一度に要求されます。要求すると、coffee が js にコンパイルされます。 js エンジン内に配置すると、コンパイルにかかる時間はアプリケーションの起動時に集中し、実行時に新しいコーヒーが必要になることはほとんどありません。ノードの最も一般的な使用シナリオは Web サーバーですが、これは問題ありません。

JavaScript プロジェクトでのコーヒースクリプトの参照 npm の Coffee-script は、グローバルにインストールすることも、プロジェクトのモジュールとしてインストールすることもできます。それでは、プロジェクトのモジュールとしてのコーヒースクリプトの重要性は何でしょうか? 実際、coffeescript コンパイラがプロジェクトに追加されており、プロジェクトは実行時にいつでもコーヒー ファイルをコンパイルできます。

最初の方法のように、コーヒーファイルを気軽に参照したいのは間違いありません。問題ありません。登録するだけです。プロジェクト エントリ ファイルが app.js の場合、ファイルの先頭に次の文を追加するだけです:

コードをコピーします コードは次のとおりです:
require('coffee-script/register');

その後、プロジェクト内で自由にコーヒー ファイルを要求できます。
この方法は基本的に最初の方法と同じですが、coffee-script がグローバルにインストールされないため、モジュールがアプリケーションとして独立して存在できる点が異なります。coffee-script を環境にインストールする必要はありません。

欠点、最大の問題は、コードがめちゃくちゃになりやすいことだと思います。js の場合もあれば、コーヒーの場合もあります。もちろん、最初の方法も同様かもしれませんが、コーヒーを使用して開始する場合は、 jsが書かれていない…要するに、プロジェクトの言語は統一した方が良いと思います(残念ながら私は主にこの方法を使っています。すでに大まかな構造がjsで書かれているプロジェクトでは、ただコーヒーを使いたいだけです...)

パフォーマンスの問題は最初の方法と同じなので、これ以上は説明しません。

オーソドックスな方法 - コンパイル

コンパイルの話をすると、本格的な C や Java の時代に戻ったような気がします。確かに、コンパイル言語としては、コンパイルして実行するのが正しい方法です。 c には gcc があり、java には javac があり、cofee にはコーヒー -c があります。

Coffee ファイルをコンパイルするのは非常に簡単です。たとえば、app.coffee ファイルを編集したい場合は、ファイルの現在のディレクトリで次を実行するだけです。

コードをコピーします コードは次のとおりです:
コーヒー -c app.coffee


app.js という名前のファイルが現在のディレクトリに表示されます。このコマンドはディレクトリにも適用できます。たとえば、プロジェクト内のすべてのコーヒー ソース ファイルを src ディレクトリに配置した場合、次を実行します。

コードをコピーします コードは次のとおりです:
コーヒー -c src

src ディレクトリとそのすべてのレベルのサブディレクトリにあるすべてのコーヒー ソース ファイルは、js ファイルにコンパイルされ、ソース ファイルと同じディレクトリに配置されます。
ただし、大規模なプロジェクトの場合、ソース ファイルとコンパイル結果ファイルを一緒に置くのは良くありません。出力ディレクトリを指定するだけです:

コードをコピーします コードは次のとおりです:
Coffee -c -o は src
を出力します
このディレクティブのパラメータの順序は少し奇妙です。 Coffee のヘルプでは次のように定義されています:

コードをコピーします コードは次のとおりです:
コーヒー [オプション] path/to/script.coffee -- [引数]

すべてのオプションはコーヒーとファイルパスの間にあることに注意してください。最後の引数は、ターゲット ファイルをスクリプトとして実行するときに渡されるパラメータです。 つまり、すべてのオプションはコーヒーとファイル名の間に置くことができます。 -c オプションは独立しており、独自のパラメーターはありません。これは、命令の最後に提供されたファイルがコンパイルされることを意味するだけなので、次のように記述できます。

コードをコピーします コードは次のとおりです:
コーヒー -o 出力 -c src


コンパイル結果が自己実行関数本体に囲まれないようにオプションを追加する場合は、次のようにします。

コードをコピーします コードは次のとおりです:
コーヒー -o 出力 -c -b src


すべてのソース ファイルを out.js という名前のターゲット ファイルにコンパイルする場合、つまり

コードをコピーします コードは次のとおりです:
コーヒー -o 出力 -c -j 出力 src


コードを変更するたびにこのような命令を実行しなければならないとしたら、非常に面倒です。 Coffee コマンドには、ソース ファイルの変更を監視し、自動的にコンパイルできるオプション -w があります。

コードをコピーします コードは次のとおりです:
コーヒー -o 出力 -c -w src


大規模なプロジェクトの場合は、すべての開発者が 1 つのコマンドだけですべてのコンパイル事項を処理できるように、事前にコンパイル方法を決定することが最善であり、これには自動構築が必要です。

offee は、C の世界における make に似た自動ビルド ツール、cake を提供しています。 ただし、公式 Web サイトに記載されているように、cake は非常にシンプルなビルド システムです。実際、cake の機能は、cakefile という名前のスクリプトを実行することであり、cakefile スクリプトは Coffeescript で書かれています。このスクリプトは、命令とそれに対応する記述および実行関数を宣言するために使用される、タスクなどの非常に限定された組み込み関数のみを提供します。もう 1 つは、純粋なノード プロジェクトを作成することです。コンパイルを完了するには、node の fs モジュールを使用して、coffee モジュールによってコンパイルされた文字列を出力するか、child_process モジュールを使用してシェル命令を実行する必要があります。実際、ケーキ構築のターゲットは必ずしもコーヒーである必要はありません。ケーキは実際にノード スクリプトを実行し、あらゆる自動化されたものを処理できるからです。

さらに、有名な Grunt や国産の fekit など、コーヒーの自動コンパイルを完了できる、より優れたサードパーティの自動構築ツールもいくつかあります。

このオーソドックスなコンパイル方法は最も信頼性が高く、経験豊富なプログラマに好まれるはずです。これにより、チームは固定された開発モデルを形成できます。 さらに、コンパイルされたプロジェクトは純粋な js プロジェクトになり、アプリケーションとして直接実行する場合でも、他のプロジェクトによってモジュールとして参照される場合でも、追加の依存関係は必要ありません。 また、実行時にコンパイルする必要がないため、コンパイルによるパフォーマンスの問題が発生しません。

欠点は、面倒なことです。小規模なプロジェクトを実行している場合、cakefile を作成したり grunt を設定したりするだけで半日かかりますが、それだけの価値はありません。

上記の概要に基づいて、coffeescript を使用して node.js プロジェクトを作成するのは実際には非常に簡単です。次に、皆さんも急いで coffee を使用してください。同時に、上記の内容が皆様のお役に立てれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。