問題タブ [traceur]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - グラントはタスクを見つけることができません
うなり声の設定で何か問題が発生し、何が原因かわかりません。私のgrunfile.jsのギバー部分
上記の 2 つのタスクを登録します。
実行中grunt tr
はすべて問題ありません。しかし、コードが変更された後にwatch
タスクを実行しようとすると、エラーが発生します:traceur
grunt が traceur タスクを見つけないのはなぜですか?
javascript - どうすれば (本当に!) JavaScript 非同期呼び出しを (Chrome 上で) 同期させることができますか?
いくらか似たような質問が何度も出されていることは承知していますが、非同期呼び出しを真に同期させる必要があります。通常、AMD を非同期で使用する必要がありrequire
、渡されたコールバックが実行された後に、いくつかの呼び出しを同期的に実行する必要があります。クロムで動作させるだけで十分です。このトリックは ES6 yield
/で実行できるようawait
です。残念ながら、クロムyield
が必要なようです。traceur
実際、軽量で最小限のソリューションを用意し、ライブラリのフットプリントが大きくならないようにしたいと考えています。
これを実装するための最低限のソリューションは何ですか?
javascript - Traceur (ES6 Transpiler) ランタイムはどこにありますか?
私は ES6 に興奮しており、Traceur コンパイラを使用してウォームアップしたいと考えています。簡単なクラスの例を次に示します。
トランスパイルしてサンプルを (ノードで) 実行しようとすると、次のエラーが発生します。
エラー: モジュール 'traceur-runtime' が見つかりません
ランタイムは traceur の npm インストールに含まれていますか? はいの場合、それはどこにあり、どのように含める必要がありますか? ランタイムを含めずにコードを実行することはできません...
javascript - Traceur コンパイラ: 正規化 / 解決
私が理解したように、2 つの方法で traceur コンパイラを使用できます。
- スクリプトをコンパイルしてから、既にコンパイル済みのアプリに含める
- ブラウザで使用
traceur
して、すべてのスクリプトがアプリの実行時に変換されるようにします
では、どのように正規化関数と解決関数を使用できますか? 私が知っているように、それらはシステム名前空間に保存する必要があります-System.normalize = function(){...}
そしてSystem.resolve = function(){...}
それらを追加しましたが、呼び出されませんでした。
javascript - 本番用の Traceur コンパイラ
本番環境で使用する準備はできていますか? 特に大規模なアプリケーションの場合。
私が理解しているように-はい。しかし、詳細を取得することは素晴らしいことです。
また、次の 2 つの使用方法があります。
- ランタイム
- プリコンパイル
プリコンパイルよりもランタイム実行にかかる時間はどれくらいですか? 私がテストしたところ、x10-15 倍近くになっていますが、誰か他の情報を持っているのではないでしょうか?
ecmascript-6 - コンストラクターでの Traceur スーパー コール
クラス コンストラクターでの super() の呼び出しに関連していると思われる Traceur の問題に直面しています。問題を次のコードに減らすことができました。
これにより、「未定義は関数ではありません」というメッセージとともに ModuleEvaluationError が発生します。私は何か間違ったことをしていますか、それともこれはバグですか?
super();
明確にするために-呼び出しをコメントアウトすると、問題は解決します
ecmascript-6 - ES6 クラスで配列を拡張する
ES6 が最終的に Array のサブクラス化を許可するようになったと聞きました。によって与えられた例を次に示します。
確かに、それはうまくいきます。しかし、少なくとも Traceur では、長さを明示的に設定しても配列は切り捨てられません。また、console.log を介して出力すると、出力は配列形式ではなくオブジェクト形式になります。これは、誰かがそれを「実際の」配列と見なしていないことを示唆しています。
これは、Traceur が組み込みオブジェクトのサブクラス化を実装する方法の問題ですか、それとも ES6 の制限ですか?
traceur - 開発中の実行時にトレーサーをコンパイルする
angularjs アプリの開発中に実行時に ES6 をコンパイルしたいと思います。http-server が起動する前に traceur を実行できますが、開発中は面倒です。
これを設定するにはどうすればよいですか?
PS: この段階では grunt を使用していません。する必要があるかもしれないと思います。
angularjs - ノードモジュールとしてのAngularモジュール?
私はAngularのコアモジュールが本当に好きで、これらの機能のいくつかをnode/io.js環境で使用しようとしています。つまり、angular モジュールを commonjs 形式の ES5 モジュールにトランスパイルします。
traceur を使用して 1 つずつ手動で角度モジュールを構築しようとしましたが、成功しませんでした (循環依存関係を生成します)。 またgulpfile.js
、commonjs 形式で ES5 出力を生成するために角度プロジェクトを適応させようとしました。
... build/transpile.js.devタスクを実行していますが、次のメッセージが表示され続けます:
デフォルト設定を変更しても、このエラーsourceMaps
を取り除くことはできません。map
また、実際に出力フォーマットを処理しているように見えるトランスパイラー ツールにも気付きました。しかし、オプションを変更することはできませんでした。System.register
commonjsに変換できない形式のファイルのデフォルト構成でのみ結果が得られます。
このすべてを経験した人は、commonjs スタイルのプロジェクトで angular のモジュールを使用するソリューションを持っていますか? ライブラリとして使用したいので、プロジェクトを別のタイプのモジュール システムに変換したくないことに注意してください。
どんなアドバイスでも大歓迎です、ありがとう!
javascript - 継承の問題があり、Traceur がコンパイル済みコードを表示しない ES6 クラス
私はES6で実験しています。特に、クラスと継承。クラスApple
では、拡張しPolygon
ます。Polygon
のメソッドを拡張sayName()
して、console.log に出力したい。
traceur で実行すると、次のようになりますundefined
。console.log(foo);
トレーサー:
- どうすればクラスで優秀になり、
sayName()
ショーを価値あるものにすることができますか?Apple
console.log(foo)
- traceur がコンパイルされたコードを表示すると思っていましたが、そうではありませんでした。たとえば、
$traceurRuntime.createClass()
これらのコンストラクターがどのように作成されているかを理解するのに役立ちません。コンパイルされたコードを表示するために traceur を間違って使用していませんか?