CoffeeScriptのはじめ方

インストールと初歩的な動作確認

CoffeeScriptのインストール

CoffeeScriptのはじめ方です。

node package managerでインストール

Node.jsをインストールした後、

npm install -g coffee-script

npmコマンドを使ってインストールすることが出来ます。

インストールする際に、以下のエラーが発生したので、

Error: ENOENT, stat ‘C:\Users\Administrator\AppData\Roaming\npm’

手動でnpmフォルダを作成してエラーを回避しました。

Node.js/Windows error: ENOENT, stat ‘C:\Users\RT\AppData\Roaming\npm’

動作確認

コマンドプロンプトで

coffee -v

を実行します。

CoffeeScript version 1.8.0

という感じでバージョン番号が返されれば、CoffeeScriptは正常にインストールされています。次に

coffee

と入力してみます。CoffeeScriptのREPLが起動して、プロンプトが待機状態になります。REPL上で関数の定義と作成した関数を実行したのが以下の画像です。

coffeescript-sample

メッセージを出力する関数(Function)を定義して、その関数を実行している様子を確認することが出来ます。

JavaScriptへのコンパイル

CoffeeScriptの作成

下の画像のフォルダ構成を前提として、CoffeeScriptの作成とJSファイルの生成をやってみます。

coffeescript-directory

coffeeフォルダ内に

function.coffee

というファイルを作成し、coffeescriptをコーディングします。

message = -> "Web Engineer Blog"
alert message()

JSファイルを生成するコマンド

コマンドプロンプトでカレントディレクトリをwebrootに移動した上で、下のコマンドを実行します。

coffee -co js -w coffee

CoffeeScriptのコンパイルが実行され、プロンプトが待機状態になります。以後、編集したCoffeeScriptは即時コンパイルされます。

上のCoffeeScriptで生成されるJSのコードは以下の通りです。

// Generated by CoffeeScript 1.8.0
(function() {
  var message;

  message = function() {
    return "Web Engineer Blog";
  };

  alert(message());

}).call(this);

ファイル名は

function.js

としてjsフォルダ内にコンパイルされます。

jQueryのコードを生成

CoffeeScriptでjQueryのコードを生成してみます。

jquery.coffee

というファイル名で下のコードをコーディングします。

$ ->
  $(".button").click ->
    alert "Web Engineer Blog"

ボタンのクリックイベントに応じてアラートメッセージを表示するJavaScriptコードをコンパイルすることが出来ました。自動コンパイルが有効になっていれば、

jquery.js

というファイル名で以下のコードが生成されます。

// Generated by CoffeeScript 1.8.0
(function() {
  $(function() {
    return $(".button").click(function() {
      return alert("Web Engineer Blog");
    });
  });

}).call(this);

変換ツール

JavaScriptコードからCoffeeScriptのコードを生成するJs2coffeeという変換ツールがあり、既存のJSプロジェクトをCoffeeScriptに移行する際に利用できるようです。

このコードコンバートツールを利用して、どのようなCoffeeScriptが生成されるのか確認することが出来ます。

js2coffee js/pure/base.js > coffee/generated.coffee

jsフォルダの下にpureという階層を作成し、その中に生成元のjsを配置した上で、上のコマンドを実行するとCoffeeScriptが生成されます。

Webエンジニアブログにコメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CoffeeScriptのはじめ方の記事にコメントを投稿

JavaScript