react-router-domを使用してルーディングを行っているのですが、ネストされたURLヘいくと画面が真っ白になる。
例) (大丈夫) "/", "/login", "/home"...
(ダメ) "/hoge/:id", "user/:id"
コンソールエラーとし下記の内容が出ているのは確認できています。
GET http://localhost:8080/hoge/bundle.js net::ERR_ABORTED 404 (Not Found)
調べたところWebpackがうまく設定できないないみたいなのですが、よくわかりません。ご教授よろしくお願いします。
webpackのコード
module.exports = { entry: ["@babel/polyfill", "./src/client/index.js"], output: { path: __dirname + "/dist", filename: "bundle.js", }, module: { rules: [ { test: /.js$/, exclude: /node_modules/, use: { loader: "babel-loader", }, }, { test: /.css$/, use: ["style-loader", "css-loader"], }, { test: /.(png|jpg|gif)$/, use: { loader: "file-loader", }, }, ], }, devServer: { contentBase: path.join(__dirname, "dist"), }, plugins: [htmlWebpackPlugin], };
一応フォルダ構成も載せておきます。
index.html の script タグの src="bundle.js" を src="/bundle.js" にすればいいかも。
でも、そもそも SPA になってないのでは。
src="/bundle.js"を追加すると一応、解決はするですが、src="/bundle.jsとsrc="bundle.jsの2つが読み込まれてしまう、状態になってしまんですよね。
src="bundle.js" はそのままで index.html の <head> に <base href="/"> を追加すればいいかも。
ところで、/hoge/:id へのリンクは <a> タグではなく <Link> タクを使ってますか?
WebpackでpublicPath: "/",をつけることで解決しました。ありがとうございました
回答1件
あなたの回答
tips
プレビュー