35

Node API Babel 6 Docsで提供されているドキュメントを何度か読みました。

Learn by Example チュートリアルに従って pg-promise の学習を開始しています。

  1. babel-core をインストールした後、どのプリセットを使用し、どこでどのように設定すれば機能しますか?

私が入れたファイルについて、ドキュメンテーションは私には不明確でした : そのコードのどの部分がプレースホルダーであるか。そのコードを使用する場合、どこかで 1 回使用するだけで、他のすべてのファイルで ES6 を使用できますか? これはどのように達成されますか?

  1. この .babelrc ファイルについて読み、実際のファイル名が「.babelrc」であるかどうか、またはそれが単なるファイル拡張子であるかどうか、およびプロジェクトのルート ディレクトリとの関係でそのファイルをどこに配置するかを確認したいと思います..そしてどのように私はそれにリンクしますか?

  2. pg-promiseを使用している場合、ES6 と Babel を使用する必要がありますか、それとも pg-promise のテストセクションで説明されているように npm install を実行する必要がありますか?

サーバー側の開発中に必要が生じた場合は、let と const を利用したいと考えていました。

  1. node+babel+pg-promise サーバーセットアップの標準ファイル構造はありますか?

編集Node JS with Babel-Node も読んだことがあり、これを使用することは避けるべきであることがわかりました。一番下の最終的な答えは、Babelが提供する実際のドキュメントをたどるのに苦労しているのと同様の理由で、私にはあまり意味がありませんでした.

4

4 に答える 4

45

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 などを使用する可能性が高く、別の例はここにあります。

この回答は、この質問に対する他の回答によって提供されたいくつかの重要なポイントと、経験豊富な開発者からの貢献、および私自身の個人的な調査とテストの組み合わせです。この回答の作成を支援してくれたすべての人に感謝します。

于 2015-11-11T05:38:47.797 に答える
0

すべての「ビルド」タスクを管理するには、grunt や gulp などのツールを使用する必要があると思います。それはあなたのためにそれを自動化し、間違いを犯すことはありません.

1 つのコマンドで、コードを babel ES2015 にトランスパイルして、アプリケーションを開始できます。

この単純なプロジェクトをご覧になることをお勧めします。(node_modules をインストールし、npm start を起動して app.js ファイルを起動するだけです)

ただし、どうしてもbabelを手動で使いたい場合は、

  • .babelrc はファイルの名前です。このプロジェクト (redux)で例を確認できます。

  • .babelrc は構成ファイルです。どのように機能するかを確認したい場合は、この package.json を確認してください (常に redux) 。

  • 私が知っている標準的な方法は実際にはありません。必要に応じて以下のプロジェクト スケルトンを使用し、プル リクエストを送信して改善することができます :-)

于 2015-11-10T07:32:21.930 に答える