2015-09-09 12 views
13

私はすべてのhtml、js、cssファイルをamazon s3に保存し、apiを使って快適なサーバーと通信するWebアプリケーションを構築しようとしています。nodejsサーバなしでクライアント側でwebpackを使用できますか?

私は怠惰な読み込みを達成しようとしており、おそらく反応ルータでルーティングしています。 webpackにはこの機能コードの分割があり、遅延読み込みと同様に動作するようです。

しかし、私が見つけたチュートリアルとサンプルのすべてには、小さなノードエクスプレスサーバであるwebpack-dev-serverが含まれています。とにかく、ビルド時にバンドルを生成し、すべてをamazon s3にアップロードして、AngularのocLazyLoadingに似た何かを実現できますか?

+0

開発中にnodejsを使用しないことを目標にしていますか?あるいは、生産にノードを必要としないことで十分ですか? –

+0

私の目標は、静的なWebページだけをホストできるamazon s3にすべてのhtml、js、cssなどを入れることです。だから私は開発のノードを使用することができたと思います。 – LoveProgramming

+0

私はあなたのビルドのパイプラインとしてnode/webpackを使用して、S3までの静的ファイルをコピーすることをお勧めします。 –

答えて

7

静的バンドルjsファイルを作成することは可能です。これは、webpack-dev-serverが含まれていない実動コードで使用できます。

this exampleを参考にしてください(注:私はこのレポの所有者です)。 webpack.prod.config.jsは、web.packを使用してnode.js経由で実稼働可能なバンドルファイルを作成します。それ自体node.jsは必要ありません。そのため、単純な静的ファイルとして提供することができます(これは実際の例で行われています)。

主な違いは、エントリポイントが開発環境および本番環境でどのように記述されるかです。開発webpack-dev-serverため、本番環境では

module.exports = { 
    entry: [ 
     'webpack-dev-server/client?http://localhost:3000', 
     'webpack/hot/only-dev-server', 
     './src/index' 
    ], 
    // ... 
} 

を使用しているあなたはwebpack-dev-server、ホットリロード一部

module.exports = { 
    entry: [ 
     './src/index' 
    ], 
    // ... 
} 

を飛ばし、あなたが複数のバンドルにコードを分割したい場合は、あなたがしたい場合がありますmultiple entry pointsを定義し、それに従ってファイルをリンクする方法を見てください。

+0

ありがとうございました!だから、すべてのWebpack機能はまだまだ有効でしょうか?遅延読み込み(コード分割)のように? – LoveProgramming

+0

[ここ](http://webpack.github.io/docs/code-splitting.html)と[ここ](https://christianalfoni.github.io/react-webpack-cookbook/Lazy-loaded- entry-points.html)を参照してください。重要な部分は 'require.ensure'(CommonJs)または' require'(AMD)です。 – dotcs

+0

ありがとうございました! – LoveProgramming

関連する問題