私の問題は、http://localhost:8080/webpack-dev-server/
に行くとwebpackがディレクトリリストを提供できるということです。 devサーバーのパスを変更すると、バンドルに変更は加えられません。Webpack dev-server - 更新されたアセットで静的ファイルを提供する方法?
私は非常に簡単なセットアップが欲しいです。アプリケーション内のすべてを取り出し、js変換を実行してからdistで配信します。 index.html
はどのようにそれに当てはまりますか?
私は、以下のディレクトリ構造を持っている:私はすべて変換した後、「index.jsでバンドルを開始するとして解釈
const path = require('path')
module.exports = {
entry: './app/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
publicPath: '.',
},
module: {
rules: [
{
test: /\.js$/,
use: 'babel-loader',
exclude: /(node_modules)/,
}
]
},
devServer: {
contentBase: path.join(__dirname, 'dist'),
compress: true,
}
}
:
app
index.js
dist
bundle.js
index.html
webpack.config.js
をそしてwebpack.configの内側に私はこれを持っていますjsファイルをbundle.js
というファイルに入れて、dist/
に入れてください。そして、devサーバでそのdistフォルダのjsコンテンツを配信し、圧縮してください。
私が持っている切断は、これにどのようにしてindex.html
がプレイされているかを理解しています。 私は相談しました:https://webpack.js.org/configuration/dev-server/#devserver
。
のパスを.
に変更すると、ディレクトリ一覧は表示されませんが、バンドルは更新されません。
tldr:
がどのように私はindex.html
を指しますが、更新の資産を提供するためのdevのサーバーを有効にすることができますか?
最後に、考え出しました。
const path = require('path')
module.exports = {
entry: './app/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
},
module: {
rules: [
{
test: /\.js$/,
use: 'babel-loader',
exclude: /(node_modules)/,
}
]
},
devServer: {
contentBase: 'dist',
}
}
私は気になっていたと言いたいと思いますが、それが機能するまでオプションをスパムしました。
それは今意味がある。ありがとう!私の新しい問題は、devサーバーにバンドルを更新させることができないということです。 – user3162553
これはちょっと変わったことです。私はプロジェクトに非常に似た設定をしていて、うまくいきます。バンドルファイルが更新されていないことを意味しますか?私が言ったように、 'webpack-dev-server'はメモリから完全にそのファイルをビルドして提供しますが、実際のバンドル_file_には触れません(webpack -wを実行します)。 – robertklep
'app/index.js'のコードを変更しても、その結果は示されません。アラートを追加すると、ページがリフレッシュされ、アラートが呼び出されません。私がdevpackサーバーなしでwebpackコマンドを実行すると、動作します。これは、更新されないdevサーバーを使用している場合のみです。 – user3162553