問題タブ [babeljs]

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 に答える
498 参照

abstract-syntax-tree - ES6 AST を ES5 AST に直接変換する方法は?

Babel のようなパッケージが ES6 コードを ES5 の JavaScript に変換できることを知りましたが、どこかで入手した ES6 AST から始めることはできますか?

0 投票する
2 に答える
87645 参照

javascript - ES6 (Babel) でクラスをエクスポートする

ECMAScript 6 (BabelJS でトランスパイルし、Br​​owserify でブラウザ化) を使用してフロントエンド コードを作成しているため、1 つのファイルにクラスを格納し、それをエクスポートして、別のファイルにインポートできます。

私がこれをやっている方法は次のとおりです。

そして、私が行うクラスをインポートするファイルで:

次に、でコンパイルしますgrunt。これは私のGruntfileです:

ただし、new Game(呼び出し時に次のエラーが表示されます。

そのため、Babel と Browserify によって生成されたコードを分析したところ、次の行が見つかりましたPlayState_browserified.js

出力を印刷することにしましたrequire

そして、それは空のオブジェクトに他なりません。pentagine_browserified.jsファイルをチェックアウトすることにしました:

クラスを正しくエクスポートしているように見えますが、他の理由で他のファイルでは必要ありません。

"../../lib/pentagine_browserified.js"また、文字列を変更するとNot Foundエラーが発生するため、ファイルが適切に必要とされていると確信しているため、正しいファイルに移動していると確信しています。

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

javascript - ES6/Babel 構文を使用した systemJS による相対動的読み込み

別の Web アプリケーションで活用したい、純粋な ES6 で記述されたモジュールがあります。モジュールのエントリ ポイントは main.js で、以下が含まれます。

main.js

systemJS を使用して this をインポートするmain.jsと、これらの依存関係をモジュールではなく、Web アプリケーションに対してローカルに解決しようとします。

GET http://localhost:9000/dist/a.js 404 (見つかりません)

相対動的ロードは既にサポートされているようですが、関数に追加の関数を渡す必要がありますがSystem.import、これは使用していません。ES6 構文を使用しています。

これを行う方法の例やベストプラクティスはありますか? よろしくお願いします。

0 投票する
2 に答える
7054 参照

javascript - KARMAでReact JSX ES6コードを単体テストするには?

React アプリを ES6 で作成しました。今度は、ES6 でもテストを書きたいと思います。したがって、ここでの課題は、カルマを構成することです。

Google と一緒に、karma.config.js でここまで来ました (構成ファイルの同じ部分を省略しました!):

このセットアップですべきこと: 1) JSX を JS にコンパイルし、次にbabelES6 を ES5 に変換する必要があります。これと一緒に、polyfillたとえばphantomjsで実行する必要があると予想しました。しかし、いいえ、実行したときのカルマからの出力は次のとおりです。

の 35 行目にapp.jsxは、実際の JSX 部分が含まれています。そのため、何らかの理由でプリプロセッサはあまり機能していないようです。プリプロセッサに関するヘルプをいただければ幸いです。

更新:私はこれをほとんど機能していません。私が持っていたプリプロセッサは、このように交換する必要があることがわかりました

これを実行すると、次のようになります。

そのためのポリフィルがあると思いました:(

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

javascript - レンダリング

React v0.12/v0.13:<select>サーバーとクライアント (同型) の両方でレンダリングしたい要素に問題があります。現在問題を再現している例を次に示します。

属性はselectedサーバーではレンダリングされませんが、ブラウザーでは正常に機能します。

defaultValueまた、要素にプロップを設定しようとしまし<select>たが、違いはないようです。ただし、を使用すると機能<option value="C" selected>しますが、コンソールに警告がスローされ、valueまたはdefaultValueプロップのいずれかを使用するように指示されます。

ドキュメントでは、望ましい動作についても説明しています: https://facebook.github.io/react/docs/forms.html#why-select-value

このコードは、トランスパイルにbabel-coreを使用してノード v0.12 で実行されています。

これはバグですか、それとも何か不足していますか?

更新:これは React のバグです。以下の私のコメント/リンクを参照してください。

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

node.js - babel.js で gulp-watch を使用する

以下は、Gulp ES6 変換タスクです。正常に動作しますが、新しいファイルがキャッチされるように、gulp.watch を gulp-watch プラグインに置き換えようとしています。問題は、コールバックで gulp.watch が行うことを gulp-watch が教えてくれないことです。それについてどうすればよいかわかりません。

これが私の元の作業タスクです。

そして、これがgulp-watchでこれまでに持っているすべてです:

ロギングの出力は次のとおりです。

イベントを見る - history,cwd,base,stat,_contents,event

イベントを見る - 変更

イベントを見る - ..

以前に持っていた情報を gulp-watch で取得するにはどうすればよいですか、またはタスクのコードを変更してこれを gulp-watch で再び機能させるにはどうすればよいですか?