CoffeeScript のインストールとコンパイル (Windows)

CoffeeScript の Windows 環境におけるインストールとコンパイル方法について書いてみました。

Node.js のインストール

CoffeeScript 自身が JavaScript で書かれているため、 ローカル環境で実行するにはサーバーサイド JavaScript である Node.js が必要になります。

まず、 Node.js の本家のページから Windows 用のインストーラー(node-vX.X.X-x86.msi) をダウンロードします。 node.js site

node-vX.X.X-x86.msi を実行すれば、 Node.js はインストールされます。

CoffeeScript のインストール

CoffeeScript は Node.js のパッケージマネージャーである npm 使ってイントールします。

Node.js をインストールするとスタートメニューに [Node.js command prompt] ができるので、これを起動します。
Node.js command prompt
立ち上げたコンソール上でコマンドを実行してインストールします。
> npm install -g coffee-script
-g(--global) はグローバルインストールのオプションです。
Node.js では CoffeeScript のようにコマンドライン上で起動させたいものは、 グローバルインストールするようです。

インストールすると CoffeeScript のコンパイラーである coffee コマンドと CoffeeScript 版 make といった cake が使えるようになります。

プロキシ環境でのインストール

ネットワークの接続にプロキシを使用している場合は サーバーを設定していないとエラーとなります。

プロキシサーバーを設定するには以下のコマンドを実行します。
npm config set proxy プロキシサーバーのアドレス:ポート番号
> npm config set proxy http://foo.co.jp:8080

私の環境ではプロキシを設定してもまだエラーが発生しました。 さらに次のコマンドを実行するとインストールに成功するようになります。
 > npm config set registry http://registry.npmjs.org/

参考 :

環境変数の設定

coffee コマンドの実行時に、 コマンドが見つからないといったエラーがでる場合には次のフォルダーが 環境変数 Path に設定されているか確認してください。
特に %AppData%\npm の方はユーザー別の環境変数の方に追加されるので、 設定されていない可能性があります。
パス 格納ファイル
%AppData%\npm npm でインストールしたパッケージの実行ファイル (coffee.cmd, cake.cmd など)
%ProgramFiles%\nodejs Node.js の実行ファイル(node.exe) や npm コマンド (npm.cmd)
なお、 [Node.js command prompt] のコンソール上では確実にパスは設定されるようになっています。

CoffeeScript を使ったコンパイル

coffee コマンドを使って CoffeeScript のコードを JavaScript に変換(コンパイル)します。

まず、適当な CoffeeScript のファイルを作成しておきます。
hello.coffee :
alert('Hello World!')

コンパイルには次のようなコマンドを実行します。
coffee -c 入力ファイル
> coffee -c hello.coffee
実行すると hello.coffee と同じフォルダーに hello.js が作成されます。

-c(--compile) がコンパイル用のオプションです。
他のオプションに関しては以下のページに詳しい説明が載っていました。

eshell での coffee コマンドの実行

私はコンソールに Emacs でのシェルモード(eshell) を使っているのですが、 Meadow の場合には eshell 上で coffee コマンドが上手く動きません。
これは coffee.cmd の実体が bat ファイルで、 古いバージョンの eshell では bat ファイルに引数を渡して実行することができないためです。

以下の行を ~/.eshell/alias に追加すると eshell 上でも coffee でコンパイルすることができるようになります。
alias coffee node.exe $APPDATA/npm/node_modules/coffee-script/bin/coffee $*

ちなみに M-x compile などの場合にはそのまま coffee コマンドで実行できます。

スポンサーサイト



 

TypeScript のインストールとコンパイル (Windows)

Microsoft が TypeScript という新言語を発表しました。
CoffeeScript のように JavaScript に変換して使うタイプのものですが、 言語としては、 JavaScript(ECMAScript) で将来予定されている仕様を先取りした 次世代 JavaScript のような感じになっています。

この TypeScript の Windows 環境におけるインストールとコンパイル方法について紹介します。

TypeScript は VS2012 のプラグインか Node.js の npm パッケージとしてインストールします。 私が VS2012 を持ってないので、 Node.js を使ったインストール方法を説明します。
ただ、CoffeeScript のインストール とほとんど同じなので、簡単な説明にしています。

Node.js のインストール


Node.js の本家のページから Windows 用のインストーラー(node-vX.X.X-x86.msi) をダウンロードして、実行します。

プロキシの設定

プロキシサーバーを設定するには以下のコマンドを実行します。
npm config set proxy プロキシサーバーのアドレス:ポート番号
> npm config set proxy http://foo.co.jp:8080
プロキシを設定してもエラーとなる場合は、 さらに次のコマンドを実行します。
 > npm config set registry http://registry.npmjs.org/

TypeScript のインストール

コマンドを実行して、インストールします。
> npm install -g typescript

インストールすると TypeScript のコンパイラーである tsc ができます。

TypeScript を使ったコンパイル

tsc コマンドを使って TypeScript のコードを JavaScript に変換(コンパイル)します。

まず、適当な TypeScript のファイルを作成しておきます。
hello.ts :
class Greeter {
    greeting: string;
    constructor (message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }
} 

コンパイルには次のようなコマンドを実行します。
tsc [オプション] 入力ファイル ...
> tsc hello.ts
実行すると hello.ts と同じフォルダーに hello.js が作成されます。
hello.js :
var Greeter = (function () {
    function Greeter(message) {
        this.greeting = message;
    }
    Greeter.prototype.greet = function () {
        return "Hello, " + this.greeting;
    };
    return Greeter;
})();

オプション

tsc のコマンドオプションは -h または引数なしで tsc を実行すると Usage が表示されます。

よく使いそうなのは、次のようなところじゃないかと思います。

オプション 機能
-h, --help ヘルプ(Usage) 表示
--out 出力ファイル名の指定。複数の入力ファイルからの統合
ex.) tsc --out foo.js foo.ts bar.ts
-w, --watch スクリプトの変更の監視。
-sourcemap ソースマップの生成

Emacs での使用

TypeScript を Emacs で使用するための設定の紹介です。
(ちゃんとはできてません)

メジャーモード

Microsoft が TypeScript 用のモードの lisp も一緒に公開している ということでサイトにとりに行きました。 zip ファイルをダウンロードしたところ、中身は readme ファイル 1 つ入っただけ。 ファイルの内容を見てみると、最後の方に 一時的に使えません。もうすぐバージョンアップするよ 的なことが書かれてました。

いろいろツッコミたいところはありますが、とりあえず我慢して待ってみます。
Java や JavaScript のモードで代用すれば、まぁ、わりといけます。
追記
リリースが再開されたので、インストール方法を記述しました。

eshell でのコマンドの実行

Meadow の eshell 上で動作させるには、 以下の行を ~/.eshell/alias に追加します。
alias tsc node.exe $APPDATA/npm/node_modules/typescript/bin/tsc $*

コンパイルの設定

M-x compile で Emacs 上でのコンパイルを行うことができます。
その出力結果のハイライトとエラー箇所へのジャンプには出力スタイルが登録されている必要があります。 上手くエラー箇所へジャンプできない場合は以下の記述を .emacs.el に記述してください。
(require 'compile)
(setq compilation-error-regexp-alist
      (append
       '(;; d:/h...ript/sample.ts (13,175):
         ("^\\(.*\\) (\\([0-9]+\\),[0-9]+):" 1 2))
       compilation-error-regexp-alist))
詳しくは以前の記事をご覧ください。
 

JSX のインストールとコンパイル (Windows)

今回はDeNA が開発した JSX の Windows 環境におけるインストールとコンパイル方法についての記事です。
JSX は JavaScript に変換して使用する言語で、 変換後の JavaScript がなるべく高速になるようにするという特徴があります。

JSX の動作には Node.js を必要とします。 Node.js のインストールに関しては 以下の記事を見てください。

JSX のインストール

JSX はネットワーク経由のインストールができないので、 一度パッケージをダンロードしてからインストールします。

追記 2013-09-27
ネットワーク対応のインストールに対応したので、直接次のコマンドでインストールできるようになりました。
> npm install -g jsx

JSX の GitHub のページから zip ファイルをダウンロードします。 zip ファイルを展開し、そのフォルダーに移動します。

コマンドを実行して、インストールします。
> npm install -g

インストールすると JSX のコンパイラーである jsx ができます。

JSX を使ったコンパイル

jsx コマンドを使って JSX のコードを JavaScript に変換(コンパイル)します。

まず、適当な JSX のファイルを作成しておきます。
hello.jsx :
class _Main {
  static function main(args : string[]) : void {
    log "hello world!";
  }
}

コンパイルには次のコマンドを実行します。
jsx [オプション] 入力ファイル
> jsx --out hello.js hello.jsx
コンパイル後の出力結果はデフォルトでは標準出力に出力されます。 ファイルに出すときは --out オプションで指定します。

オプション

--help オプションをつけて起動すると Usage が表示されます。 表にオプションをまとめています。 よくわからない機能も多かったので、直訳です。

オプション説明
--add-search-path path ライブラリーの検索パスに path を追加
--executable RUNENV _Main.main(:string[]):void を呼ぶためのランチャーを追加。
対応している RUNENV は node, commonjs, web
--run コンパイル後、 _Main.main(:string[]):void を実行
--test コンパイル後、 _Test#test*():void を実行
--output file 出力ファイル (デフォルト : 標準出力)
--input-filename file 入力ファイル名
--mode (compile|parse|doc) コンパイルモード (デフォルト : compile)
--target (javascript|c++) 対象言語 (デフォルト : javascript)
--release デバッグ機能(実行時型チェック, ロギング, アサーション) を除いたコードを生成
--profile プロファイラーを有効 (実験的)
--optimize cmd1,cmd2,... 最適化コマンドのリスト (no-assert, no-log, inline, return-if)
--warn type1,type2,... 警告タイプのリスト (all, deprecated, none)
--enable-type-check 実行時型チェックを有効
--enable-source-map デバッグ情報のソースマップを有効
--version バージョン情報表示
--help ヘルプ表示
target で c++ を指定できるみたいなので、 ちょっと気になってやってみました。
しかし、 サンプルコードでもエラーで生成できません。 サイトに情報もないし、まだこれからなのかなという感じです。

 
このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
26位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
8位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

05月 | 2023年06月 | 07月
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。