最近、JavaScriptの開発にGoogleClosureToolsを使い始めました。これまで、CoffeeScriptでコードを記述してきましたが、 CoffeeScriptによって生成されたJavaScriptは、 GoogleClosureCompilerの詳細モードと互換性がないようです。
Google Closureサポートを追加するCoffeeScriptコンパイラの拡張機能はありますか?
最近、JavaScriptの開発にGoogleClosureToolsを使い始めました。これまで、CoffeeScriptでコードを記述してきましたが、 CoffeeScriptによって生成されたJavaScriptは、 GoogleClosureCompilerの詳細モードと互換性がないようです。
Google Closureサポートを追加するCoffeeScriptコンパイラの拡張機能はありますか?
CoffeeScriptをGoogleClosureToolsで使用できるようにすることを目的としたさまざまなツールがあります。それらのうちの3つについて説明します。
特徴:
in演算子、その他のさまざまな非互換性を修正しました@constructorの自動生成@extendsgoog.provide宣言されたクラスごとにステートメントを自動的に挿入しますinclude namespace as aliasサポートはに翻訳されgoog.require、goog.scope欠点:
My.Long.Named.Carすることはできません)Carprovide同等のものがありませんinclude詳細については、http://bolinfest.com/coffee/をご覧ください。
免責事項:私はこのソリューションの作成者です
このソリューションは、Bolinfestの作業に触発され、次のように拡張されています。
goog.scope@constructor、@extends生成されたものに置き換えられますprovidecast<typeToCastTo>(valueToBeCast)構文を使用した型キャストのサポートhttps://github.com/hleumas/coffee-script/wikiで詳細を読む
上記の2つのソリューションとは異なり、SteidaのCoffee2Closureは、アップストリームの調整されていないCoffeeScriptによって生成されたjavascriptコードのポストプロセッサーです。このアプローチには1つの大きな利点があります。それは、CoffeeScriptの継続的な開発により、更新が不要またはわずかなだけであり、それでも実際のものであるということです。ただし、このアプローチの性質上、一部の機能は提供できません。現在、クラスとバインディング、ループ、in演算子、およびその他のいくつかの非互換性のみが修正されています。自動注釈生成、型キャスト、またはカスタムキーワードはサポートされていません。