CoffeeScriptは、通常のJavaScriptよりも新しい言語/アドオン/アイシングシュガーです。 誰も彼のことを聞いていないなら、あなたはこの
素晴らしい入門記事を読むことができます。
その魔法の性質により、コーヒースクリプトのコンパイラはコーヒースクリプトで記述されています。 しかし幸いなことに、CoffeeScriptソースパッケージには、すぐに使用できるjsスクリプトが既に含まれています。 そして、Node.js、Cygwin、Nantを使用してWindowsでそれらを使用する方法を説明します。これは一見簡単な作業ではないためです。
何が欲しい?
そのため、最初に、使用する単純なプロジェクトの構造を決定します。
プロジェクト
+ --- CoffeeScripts
| \ --- roast.coffee
+ --- JavaScript
| ---ツール
| + --- CoffeeScript
| + --- CygwinLite
| + --- NAnt
| \ --- NodeJ
\ --- compile.bat
目標は、プロジェクトのルートで
compile.bat
を実行し、
CoffeScripts
フォルダーから
JavaScripts
フォルダーにすべてのスクリプトをコンパイルすることです。
次のプログラムがこれに役立ちます。
- CoffeeScriptパッケージ自体。
- コーヒーコンパイラを実行するNode.js。
- ファイルパスをUNIXビューに変換するためのCygwin-Lite。
- Nantは、このすべてのおの組み立てシステムです。
例として、次の簡単なコーヒースクリプト「
roast.coffee
」をコンパイルします。
ロースト=(何)->
「ロースト#{what}」
console.logロースト「コーヒー!」
CoffeeScript
パッケージの最新バージョンは、
githubからダウンロードするか、次のコマンドを使用してクローンを作成できます。
git clone http://github.com/jashkenas/coffee-script.git
CoffeeScript \ binフォルダーには、ケーキとコーヒーの2つのjsスクリプトが含まれています。 Cakeは、CakeScriptで記述されたmakeやrakeなどのプロジェクトのビルドシステムですが、この記事では使用しません。 Coffeeは、jsスクリプト用のコーヒースクリプトコンパイラです。 これが必要なものです。
Node.js
Windows用のnode.jsのバイナリアセンブリは、インターネットで簡単に見つけることができます。 個人的には、現在
このサイトのバージョン0.2.2を使用
しています 。
すでにこのステップで、コーヒーを開始できます。 PATH環境変数にnode.jsフォルダーへのパスが含まれていると仮定し、演習として、次のコマンド「
coffee --version
」を実行します。
C:\ Project \ Tools \ CoffeeScript \ bin
> node coffee-バージョン
CoffeeScriptバージョン0.9.4
ただし、binディレクトリからではなくcoffeeを呼び出す必要がある場合、すべてがそれほど単純ではありません。 node.jsはCygwinを使用してWindows用にコンパイルされるため、このようなプログラムのパラメーターのすべてのパスは、cygdriveを介してUNIX形式で指定する必要があります(絶対パスの場合)。
D:\
> node / cygdrive / C / Project / Tools / CoffeeScript / bin / coffee --version
CoffeeScriptバージョン0.9.4
このような呼び出しを簡単にするには、コーヒー用の次のラッパーをバッチファイル「
coffee.bat
」の形式で使用できます。これは、binディレクトリに保存する必要があります。
@pushd。
@cd / d%〜dp0
@node coffee%*
@popd
コーヒーコールが簡単になりました。
D:\
> C:\ Project \ Tools \ CoffeeScript \ bin \ coffee --version
CoffeeScriptバージョン0.9.4
これで、
roast.coffee
をコンパイルして、コンソールで結果を取得できます。
C:\プロジェクト
>ツール\ CoffeeScript \ bin \ coffee -c -p /cygdrive/C/Project/CoffeeScripts/roast.coffee
(関数(){
var roast;
roast = function(what){
return "ロースト" +(what);
};
console.log(ロースト( 'coffee!'));
})。call(this);
ご覧のとおり、以前と同様に、コンパイラーへのパラメーターでUNIXパスを指定することは残っています。
ここに私たちの援助が来ます...
Cygwin-lite
...というか、彼の強力なユーティリティcygpath.exe。
Cygwin-Liteは非常に頻繁にトリミングされたCygwinであり、サイズが小さいため、コードと共に保存できます(はい、プロジェクトでのアセンブリのためにすべてを保持するのが好きです)。
こちらから Cygwin-Liteをダウンロードして
ください 。 コンパイルするにはcygpathだけで十分ですが、パッケージとは別にダウンロードできる場所は見つかりませんでした。
以下のパラメーターでcygpathを使用します。
cygpath -a -u windows-filename
これにより、WindowsのパスをUNIXの絶対パスに変換できます。 例:
C:\ Project \ Tools \ CygwinLite \ bin
> cygpath.exe -a -u cygpath.exe
/cygdrive/c/Project/Tools/CygwinLite/bin/cygpath.exe
Compile.bat
OK、最後にバッチファイルを作成してスクリプトをコンパイルしましょう。
実験の純度のために、環境変数と自家製のcoffee.batは使用しません。
@エコーオフ
REMソーススクリプトフォルダー
sourceDir = CoffeeScriptsを設定します
コンパイル済みスクリプトのREMフォルダー
destDir = JavaScriptを設定
REMユーティリティフォルダー
set cygwinDir = Tools \ CygwinLite \ bin
set coffeeDir = Tools \ CoffeeScript \ bin
set nodeDir = Tools \ nodejs
REM宛先フォルダーからコーヒーコンパイラスクリプトまでのUNIXパスを取得する
for / f %% o in( '%cygwinDir%\ cygpath.exe -a -u "%destDir%"')set outputPath = %% o
for / f %% c in( '%cygwinDir%\ cygpath.exe -a -u "%coffeeDir%\ coffee"')coffeePath = %% cを設定します
REM各コーヒースクリプトについて...
%% f in(%sourceDir%\ *。coffee)do(
REM ...そのUNIXパスを取得する...
for / f %% s in( '%cygwinDir%\ cygpath.exe -a -u %% f')do(
REM ...そしてjavascriptで目的のフォルダーにコンパイルします!
%nodeDir%\ node%coffeePath%-c -o%outputPath%%% s
)
)
エコー完了!
compile.bat
を実行し、
JavaScripts
フォルダーでコンパイル済みの
compile.bat
を取得します。
C:\プロジェクト
> compile.bat
できた!
C:\プロジェクト
> JavaScripts \ roast.jsと入力します
(関数(){
var roast;
roast = function(what){
return "ロースト" +(what);
};
console.log(ロースト( 'coffee!'));
})。call(this);
やれやれ! しかし、大規模なプロジェクトをビルドするには、バッチファイルよりも突然何かが必要です。
Nantを使用する
NAnt、小さな教育プログラムに精通していない人のために。
NAntは、.NETプロジェクトを構築および展開するための無料のツールです。 かつて、NAntはAnt(Javaのビルドシステム)から.NETフレームワークに移植され、.NET開発者のニーズに合わせて調整されていました。 しかし、良い想像力があれば、このことは何にでも使用できます。 現在、NAntは、Monoを使用してWindowsとLinuxの両方で実行できます。 その利点:箱から出してすぐに多数のタスクと機能を実行でき、エラー処理に加えて、優れた拡張性とサードパーティのプラグインがあります。
Nantとの継続的な知り合いへのリンク:
そして、私はあなたがNantについていくらかの考えを持っていると仮定し、今度は以前のcompile.batと同様のコーヒースクリプトをコンパイルするビルドスクリプトを書きます。
<?xml version = "1.0"?>
<project xmlns = "http://nant.sf.net/release/0.90-alpha1/nant.xsd" name = "コーヒーテスト">
<!-スクリプトの環境変数を設定します。 関数$ {cygpath}を使用するには、cygwinへのパスが必要です->
<setenv>
<変数名= "PATH"値= "Tools \ CygwinLite \ bin; Tools \ nodejs;%PATH%" />
</ setenv>
<foreach item = "File" property = "filename">
<in>
<items basedir = "CoffeeScripts">
<include name = "*。coffee" />
</ items>
</ in>
<do>
<execプログラム= "ノード">
<arg line = "$ {cygpath :: get-unix-path( 'Tools \ CoffeeScript \ bin \ coffee')}" />
<arg line = "-c" />
<arg line = "-o $ {cygpath :: get-unix-path(path :: get-full-path( 'JavaScripts'))}" />
<arg line = "$ {cygpath :: get-unix-path(path :: get-full-path(filename))}" />
</ exec>
</ do>
</ foreach>
</ project>
ビルドスクリプトを「
compile.build
」として保存し、新しい「
compile.bat
」を
compile.bat
して実行します。
ツール\ Nant \ bin \ nant.exe -buildfile:compile.build
ローストコーヒー
C:\プロジェクト\ JavaScript
>ノードroast.js
焙煎コーヒー!
頑張って