問題タブ [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.
abstract-syntax-tree - ES6 AST を ES5 AST に直接変換する方法は?
Babel のようなパッケージが ES6 コードを ES5 の JavaScript に変換できることを知りましたが、どこかで入手した ES6 AST から始めることはできますか?
javascript - ES6 (Babel) でクラスをエクスポートする
ECMAScript 6 (BabelJS でトランスパイルし、Browserify でブラウザ化) を使用してフロントエンド コードを作成しているため、1 つのファイルにクラスを格納し、それをエクスポートして、別のファイルにインポートできます。
私がこれをやっている方法は次のとおりです。
そして、私が行うクラスをインポートするファイルで:
次に、でコンパイルしますgrunt
。これは私のGruntfile
です:
ただし、new Game(
呼び出し時に次のエラーが表示されます。
そのため、Babel と Browserify によって生成されたコードを分析したところ、次の行が見つかりましたPlayState_browserified.js
。
出力を印刷することにしましたrequire
:
そして、それは空のオブジェクトに他なりません。pentagine_browserified.js
ファイルをチェックアウトすることにしました:
クラスを正しくエクスポートしているように見えますが、他の理由で他のファイルでは必要ありません。
"../../lib/pentagine_browserified.js"
また、文字列を変更するとNot Found
エラーが発生するため、ファイルが適切に必要とされていると確信しているため、正しいファイルに移動していると確信しています。
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 構文を使用しています。
これを行う方法の例やベストプラクティスはありますか? よろしくお願いします。
javascript - KARMAでReact JSX ES6コードを単体テストするには?
React アプリを ES6 で作成しました。今度は、ES6 でもテストを書きたいと思います。したがって、ここでの課題は、カルマを構成することです。
Google と一緒に、karma.config.js でここまで来ました (構成ファイルの同じ部分を省略しました!):
このセットアップですべきこと: 1) JSX を JS にコンパイルし、次にbabel
ES6 を ES5 に変換する必要があります。これと一緒に、polyfill
たとえばphantomjsで実行する必要があると予想しました。しかし、いいえ、実行したときのカルマからの出力は次のとおりです。
の 35 行目にapp.jsx
は、実際の JSX 部分が含まれています。そのため、何らかの理由でプリプロセッサはあまり機能していないようです。プリプロセッサに関するヘルプをいただければ幸いです。
更新:私はこれをほとんど機能していません。私が持っていたプリプロセッサは、このように交換する必要があることがわかりました
これを実行すると、次のようになります。
そのためのポリフィルがあると思いました:(
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 のバグです。以下の私のコメント/リンクを参照してください。
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 で再び機能させるにはどうすればよいですか?