問題タブ [transpiler]

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.

0 投票する
1 に答える
83 参照

javascript - ES6バンドラーで二重トランスパイル?

私の現在のワークフローは、ES6 に似ていますが、モジュールの読み込みを使用していません。TypeScript コードを実行してES6tsc出力を生成し、次に Babel を介して ES5 出力を生成する Gulp タスクを使用しています。ES5 を直接出力する場合、TypeScript はまだ async/await をサポートしていないため、これを行います。

適切な ES6 モジュールの読み込みを開始したいと考えています。つまり、互換性のあるバンドラーが必要です。

JSPM、Webpack、または他の誰かがこの二重トランスパイル プロセスをサポートしていますか?

0 投票する
1 に答える
701 参照

javascript - ノードでbabelトランスパイルされたファイルを実行できません

以下は、トランスパイル プロセス app.js をテストするために es6 インポートを使用するように変更した、非常に基本的なエクスプレス ボイラープレート コードです。

.babelrc で

結果としてトランスパイルされたコード app-compiled.js:

/usr/local/bin/node app-compiled.js を実行しようとしています:

または /usr/local/bin/node app.js

また、ポリフィルを使用しない場合、カプセル化機能がないと同じ「インポート」エラーになります。

これが役立つ場合、package.json の依存関係:

私の webstorm の ide では、次のパラメーターで設定されたバベルがあります。

プログラム: node_modules/babel-cli/bin/babel.js

引数: --source-maps --out-file $FileNameWithoutExtension$-compiled.js $FilePath$

更新する出力パス: $FileNameWithoutExtension$-compiled.js:$FileNameWithoutExtension$-compiled.js.map

ノードがbabelトランスパイルされたコードを実行できないのはなぜですか?

0 投票する
1 に答える
417 参照

typescript - String.includes や Number.isInteger などの ES6 メソッドが Typescript に組み込まれるのはいつですか?

typescriptlang.org のホームページにリストされている Typescript の主な利点の 1 つは、ES3 以降のターゲットにコンパイルされる「最先端の Javascript」を記述できることです。Typescript では、letand const、アロー関数、デストラクチャリング、テンプレート リテラルなど、多くの ES6 関数を使用できます。

特定の ES6 機能が Typescript で利用できない理由を理解しようとしています。特定の ES6 機能が Typescript に追加される時期を指定するロードマップ、または追加されない理由に関する説明はありますか?

たとえば、Typescript で String.includes を使用しようとするとエラーが発生し、結果の JavaScript はトランスパイルされず、メソッドをサポートしていないブラウザーでは失敗します。

これのトランスパイルされたバージョン (tsconfig.json でターゲットを ES5 に設定) は Opera で失敗します:

私は自分のポリフィルを追加することができ、それは動作します:

Typescript に実装されている ES6 機能のいくつかの例

テンプレート リテラル

にトランスパイル

破壊

にトランスパイル

アロー関数

にトランスパイル

0 投票する
1 に答える
1198 参照

haxe - C++ と JavaScript の間のトランスパイラーとして haxe を使用する

まず、長文失礼しました。haxe と、直面している問題を解決するツールとしての haxe の適合性について、いくつか質問してきました。私のhaxeに関する知識は非常に限られていますが、私のプロジェクトでのhaxeの理想的な役割は、haxeの通常の使用ではありません。だから私が避けようとしているのは、この言語を学習していない時間を無駄にすることです (それは本当に楽しくて強力に見えますが) 目的に合わないことがわかるだけです. ですから、それが目的に合っているかどうかについて、ベテランの獣医からアドバイスをもらいたいと思っています. そうであることを心から願っています。

これが私が達成しようとしていることです:

私はゲーム業界で働いており、C++ と JS の両方でゲームを作成する必要があります。組み込みシステム用の C++ と、オンラインおよびモバイル用の JS。私は C++ と JS の両方の経験が豊富です。

私が開発したゲームは一度だけ書きたいです。これで、C++ から JS に移行するために emscripten のようなものを使用できますが、これによりコンパイルされた JS コードが作成され、Chrome 開発ツールで簡単にデバッグできなくなります。元の C++ に簡単に戻ることができない、コンパイル済みの JS でエッジ ケースのバグに遭遇することがわかっています。さらに、ゲームの一部のプラットフォームでは、コンパイルされた JS の問題となるソース コードを表示するために公平性研究所が必要になります。

私が本当に必要としているのは、ネイティブで人間が読める C++ および JS コードを生成するソース ツー ソース コンパイラであり、必要に応じてネイティブ形式で作業および変更できるため、Haxe になります。C++ および JS 用に haxe によって生成されたコードを見てきました。JS は完全に理解しやすく、操作しやすいように見えます。C++ はそれほど多くはありませんが、それでもほぼ許容範囲です。haxe が不要な C++ をコンパイルしてリンクするのを止めることさえできます。ソースコードだけ欲しい。

ここまでは順調ですね。

これで、oxygine 2d エンジンを使用する C++ のゲーム フレームワークができました。スプライトなどを表示できるだけでなく、メッセージ バスと有限ステート マシン用に作成したフレームワークも表示できます (より便利なクラスもロードされます)。また、2d エンジンに Pixijs を使用し、C++ エンジンと同様に独自のメッセージ バスなどを使用する JS にも同様のフレームワークがあります。

今、私ができるようにしたいのは、Haxe でモジュールを作成することです。C++ と JS の両方にトランスパイルすると、そのコードをフレームワークの一部として含めて、その尊敬される言語エンジンで動作させることができます。haxe で作成する各オブジェクトは非常にカプセル化され、メッセージ バスにサブスクライブし、メッセージを処理し、メッセージを送り返すだけで済みます。エンジン ステート マシンの使用方法を知る必要がある場合もあります。したがって、メッセージ バス (他のオブジェクトと一緒に) は haxe で記述されず、ネイティブ プロジェクトでトランスパイルおよびビルドされた後にモジュールに提供されるため、これが haxe でも可能かどうかはわかりません。2 つのゲーム エンジンの構文を認識し、ターゲット言語に応じてトランスパイルできる、独自の haxe ライブラリを作成できるのではないでしょうか? それが可能かどうかはわかりません。

時間を割いて読んでいただき、ありがとうございます。アドバイスをお願いします。

0 投票する
1 に答える
182 参照

javascript - バベルの遊び場で予期しない先頭のアンダースコア

次のクラスの「データ」メソッドを見てください。メソッド本体には「result」という変数が含まれており、else if 句で配列に再割り当てされます。

何らかの理由で、babel は前述の変数の先頭にアンダースコアを付けてトランスパイルします。

ES6 クラス:

トランスパイルされたメソッド:

0 投票する
3 に答える
13492 参照

javascript - React で ES6 を使用するには、Babel やその他のトランスパイラーが本当に必要ですか?

React で ES6 を使用するには、Babel やその他のトランスパイラーが本当に必要ですか?

チャートを見ていたhttps://kangax.github.io/compat-table/es6/

私の現在のブラウザ Chrome (最新の安定バージョン) は、ほぼすべての ES6 機能をサポートしているようです...

Babel なしで ES6 を使用できる場合、どうすればよいですか?

0 投票する
1 に答える
1458 参照

javascript - Fortran から Javascript への変換

私はこの問題で頭がおかしくなっています。Fortran を Javascript に変換するために、Interpreter を書き、次に Transpiler を書きました。しかし、変数を参照渡しするという問題に悩まされるたびに。

ご存知のように、Fortran では、参照渡しと値渡しの間に構文の違いはなく、すべて同じように見えます。ただし、Javascript では、変数がオブジェクトに渡された場合にのみ、参照渡しが機能します。

Fortran のサンプル コード:

私は多くの調査を行いましたが、今まで有用な結果は見つかりませんでした。

ジョブを実行するためのライブラリがあるかどうか疑問に思っていました (クライアント側/NodeJS)。今まで誰もこの問題を解決しようとしなかったとは想像できません。

0 投票する
1 に答える
200 参照

javascript - es2015 構文とバベル変換を使用してモジュールを es5 にインポートするとエラーが発生する

es2015 コードを ES5 に変換する際に問題が発生しました。モジュールのインポートで問題が発生します:

にトランスパイルされます:

エラーの原因:

しかし、私が

var express = require('express');

すべて正常に動作します。

まだ es2015 構文を使用したいのですが、正しく動作させるために bable にインストールする必要がある設定またはプラグインはありますか?