$ cat "dev63.hatenablog.com/entry/2024/05/24/212512.md"
// ブログエントリー — 2024/5/24

webpack-dev-serverでホットリロードされない

状況

npm run buildをし直すと変更が反映される。しないと変更が反映されない。

解決差分

 const path = require("path");

 module.exports = {
     entry: "./src/index.tsx",
+    devServer: {
+        contentBase: "./",
+        port: 8080,
+        publicPath: "/dist/",
+    },
     module: {
         rules: [
             {
                 test: /\.tsx$/,
                 use: "ts-loader",
                 exclude: /node_modules/,
             },
         ],
     },
     resolve: {
         extensions: [".js", ".ts", ".tsx"],
     },
     output: {
         path: path.resolve(__dirname, "dist"),
         filename: "index.js",
         publicPath: "/",
     },
 };

解決内容コピー用

webpack.config.jsに以下のdevServer設定を追加します。

devServer: {
    contentBase: "./",
    port: 8080,
    publicPath: "/dist/",
},

この設定により、ホットリロードが正常に機能するようになりました。特にcontentBasepublicPathの設定が重要です。

ENTRY: dev63.hatenablog.com/entry/2024/05/24/212512.md
DATE: 2024/5/24
WORDS: 81