実現したいこと
Next.js 13 の npm run build コマンドで静的HTMLを書き出した際、外部CSSやJSのリンクパスの先頭に "/" が入ってしまうのを削除したいです。
(例)
このように書き出されてしまうのを、
html
1<link rel="stylesheet" href="/_next/static/css/746c22123a672a83.css" /> 2<link rel="preload" href="/_next/static/chunks/webpack-12345.js" />
このようにすることが目的です。
html
1<link rel="stylesheet" href="_next/static/css/746c22123a672a83.css" /> 2<link rel="preload" href="_next/static/chunks/webpack-12345.js" />
前提
Next.js 13 でWebサイトを制作しており、静的HTMLを出力して最終的に AWS の S3 で公開することが目的です。
そこで npm run build コマンドで静的HTMLを書き出したのですが、前述のように link href="" のファイルパスの先頭に "/" が入ってしまうため、外部CSSやJSが読み込まれない状態で書き出されてしまいます。
HTMLファイルを手動で編集して、先頭の "/" を削除すれば解決するのですが、このような手動対応でなく、npm run build コマンドでの書き出し時点でファイルパス先頭の "/" を除去したいと考えています。
試したこと
Next.js のドキュメントやブログ等を調べ、Next.js プロジェクトの設定ファイルを以下のように設定しましたが解決できません。
next.cofig.js の記述
javascript
1const nextConfig = { 2 output: 'export', 3 assetPrefix: '', 4 basePath: '', 5 reactStrictMode: true, 6 trailingSlash: true, 7 }
package.json の記述
javascript
1 "scripts": { 2 "dev": "next dev", 3 "build": "next build", 4 "start": "next start", 5 "lint": "next lint" 6 },
初歩的な質問で恐縮ですが、もし知見をお持ちの方がいらっしゃいましたら、お知恵をお借りできますと幸いです。
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。