1.a どんなプリセットが必要ですか?
npm install babel-core --save-dev
まず、コマンド プロンプトなどのターミナル ウィンドウを使用して、プロジェクトのルート ディレクトリにBabel をインストールする必要があります。
インストールしたら、es2015 プリセットを でインストールする必要がありますnpm install babel-preset-es2015 --save-dev
。Babel-Core は Promises/A+ に準拠していますが、エラー処理が不十分なため使用には適していないため、代わりにBluebirdなどのライブラリを使用する必要があります。トランスパイルするには、babel-core をインストールする必要があり、es2015 では ES6->ES5 トランスパイルが有効になるため、let や const などの凝ったものを使用できます。
1.b どこに置くrequire("babel-core");
?
代わりに、通常"server.js"と呼ばれるエントリファイルrequire("babel-core/register");
内に配置して使用します。server.js ファイルは、CommonJS (ES5) のみを使用する必要があります。
「require」ステートメントを使用することで、関連するすべての変換が、エントリファイルに必要なすべてのコードと、それらのファイルに必要または含まれるすべてのファイルに適用されます。
セクションの下の package.json 内のEntryファイルをポイントします"main":
。
npm init
ターミナル ウィンドウ内のプロジェクトのルート ディレクトリでプロジェクトを初期化すると、Package.json が作成されます。
これに対する1つのアプローチは次のとおりです。
- エントリーファイル- server.js
- server.js - {babel-core とメインの ES6 ファイル : config.js/jsx/es6/es} が必要です
- config.es6 - ES6 を使用し、babel-core によって直接トランスパイルされている「config」ファイルにロードされることによってトランスパイルされるため、ES6 を使用できる他のすべてのプロジェクト ファイルのインクルード (必須) があります。
2. .babelrc とは?
.babelrc
はファイル名で、package.json ファイルと同じフォルダー (通常はルート ディレクトリ) に配置する必要があり、使用するプリセットまたはプラグインを決定するために babel-core が必要な場合に自動的に「ロード」されます。
内.babelrc
に、次のコードを追加する必要があります。
{
"presets": ["es2015"]
}
3. pg-promise テスト セクション
開発者からの直接の引用が最近これに答えました
テストの手順について心配する必要はありません。インストールの手順のみを使用してください。テストの 1 つは、テストを実行するための dev 依存関係のインストールに関連しています。pg-promise は、Promises/A+ 仕様に準拠したあらゆる Promise ライブラリで動作します。
4. サーバー側プロジェクトの標準ファイル/フォルダー構造?
各プロジェクトには固有の要求があるため、このタスクを達成するための標準的な方法はありません。Entryファイルをプロジェクトのルート ディレクトリに配置し、ES6 Configファイルを「scripts」または「src」サブフォルダーに配置し、個々のコンポーネントをその下のフォルダーに配置することから始めるとよいでしょう。
例えば
- ROOT/server.js
- ROOT/src/config.es6
- ROOT/src/component1/files.es6
- ROOT/src/component2/files.es6
これにより、Babel はすべての ES6 を ES5 に正常にトランスパイルし、A+ 準拠の promise のサポートを有効にします。
node.js Webサーバーの使用を開始するには、このガイドでもう少し洞察を提供します。この回答のコンテキストでは、表示されているコードはES6のconfig.es6ファイルに配置され、次のコードはエントリーserver.jsファイルに配置されます。
require("babel-core/register");
require("./src/config.es6");
Isomorphic Web アプリケーションを構築するプロセスはこれとは異なり、grunt、gulp、webpack、babel-loader などを使用する可能性が高く、別の例はここにあります。
この回答は、この質問に対する他の回答によって提供されたいくつかの重要なポイントと、経験豊富な開発者からの貢献、および私自身の個人的な調査とテストの組み合わせです。この回答の作成を支援してくれたすべての人に感謝します。