0%

Programmingプログラミングナレッジ

Posted:2019.09.20

Nuxt.jsでサブディレクトリにデプロイするときの対応

Nuxt.jsで作成したアプリケーションを本番で運用するときに、サブディレクトリ配下に置きたいこともあるかと思います。その場合、アップロードするファイルなどをそのままサブディレクトリに配置するだけではうまく機能しません。このような時はルーティングの設定が必要になります。

 

過去記事で「Vue.jsでサブディレクトリ内へデプロイするときの対応」ではVue-CLIで作成するときの方法をまとめていましたが、Nuxt.jsでも同じように設定していきます。プロジェクト内にある「nuxt.config.js」内で、下記のように「routerプロパティ」の値にサブディレクトリを設定します。

【nuxt.config.js】※一部抜粋

export default {
 .......
 router: {
  base: '/DIRECTORY_NAME/'
 },
 .......
}

 

さらに、公式ドキュメントによると、routerプロパティでbaseの値を設定している場合には、headタグ内で下記のような記述が必要とのことです。

<head>
 .......
 <base href="{{ router.base }}" />
 .......
</head>

 

そこで、同じく「nuxt.config.js」内の「headプロパティ」に上記のタグが出力されるよう次のように設定を追加します。

【nuxt.config.js】※一部抜粋

export default {
 .......
 router: {
  base: '/DIRECTORY_NAME/'
 },
 head: {
  .......
  base: {
   href: 'router.base'
  }
  .......
 }
}

 

あとは、デプロイ用にビルドされたファイル群を指定したサブディレクトリにアップロードします。これでうまくルーティングされるようになりました。また、imgタグなどのsrcの値もルートディレクトリからの相対パスで問題なく表示されるようになりました。

【Vue】※一部抜粋

<template>
 <div>
  <img src="img/example.jpg" alt="image" />
 </div>
</template>

 

Nuxt.jsで作成したアプリケーションをサブディレクトリ配下で運用したい場合は覚えておきたいですね。

 

(参考にさせて頂いたサイト)
Nuxt.js router プロパティ

author
この記事を書いた人オガワ シンヤ
FacebookTwitter

DesignSupply.代表 / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。

制作のご依頼やお問い合わせ・パートナー業務提携のご相談はこちら

デザインやウェブ制作についてのご依頼やご相談、その他お問い合わせなどもお気軽にご連絡ください。フットワークの軽さやレスポンスの早さ、また豊富な経験や知識、技術を活かした対応力といったフリーランスクリエイターの強みでクライアント様、パートナー企業様のお力になります。デザインからコーディングやWordPress実装といったウェブサイト構築はもちろん、写真撮影や動画編集、コンテンツ制作からサイト運用サポートまで一括してお任せください。

ホームページ制作のご検討やウェブ運用でお悩みの経営者様や企業のウェブ担当者様をはじめ、個人で店舗を営んでいらっしゃるオーナー様、フリーで活動されているビジネスオーナー様はもちろんのこと、リソース不足でお困りの制作会社様、またクリエイターをお探しの代理店様も大歓迎です。

コンタクトをご希望の方はお手数ですが、下記よりお問い合わせフォームのページへアクセスしていただき、必要事項を入力の上メッセージを送信してください。確認でき次第すぐに折り返しご連絡致します。

こんな記事も読まれています

コメントもお気軽にどうぞ

記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。なおメールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

CAPTCHA


ページトップへ
大阪市天王寺区のホームページ制作デザイン事務所(SOHO)DesignSupply.【デザインサプライ】