5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Nuxtで特定パス配下にサイトを公開する際の設定

Posted at

はじめに

最近、Nuxtを利用してサイトを作りましたが、諸事情によりドメインのルート配下ではなく、特定パス配下で公開する必要がありました。ルーティングに加えて、今回導入していたPWAにおいても設定が必要でしたので、そのメモです。

想定するサイト公開URL

https://yourdomain.com/yourpath

サイト開発環境

  • Nuxt
  • @nuxtjs/pwa
  • (@nuxtjs/onesignal)

設定内容

/*
** Module configuration
*/
modules: [
  '@nuxtjs/onesignal', // OneSignalを使う場合は追加
  '@nuxtjs/pwa'
],

/*
** OneSignalを使う場合は追加
** Web Push(OneSignal) configuration
*/
oneSignal: {
  // ...省略
  path = '/yourpath';
  importScripts = ['/yourpath/sw.js']; // onesignal用のスクリプトの中でswが読み込まれるようになる
},

/*
** workbox configuration
*/
workbox: { 
  // ...省略
  swURL: '/yourpath/sw.js', // これを設定しないとswのregistrationでうまくいかない
  swScope: '/yourpath' // スコープは通常公開パスに設定されるが、一応明示的に指定
},

/*
** route configuration
*/
router: {
  base: "/yourpath/", // ここを設定しないとサイトが表示されない
},

/*
** PWA configuration
*/
manifest: {
  // ...省略
  start_url: "/yourpath/" // ←最後の'/'が非常に重要。忘れると※1のようなエラーが発生
},

※1:
User will not be prompted to Install the Web App
Service worker does not successfully serve the manifest's start_url

おわりに

Nuxt良いですね。サイトをささっと作ってしまいたいときに、面倒な作業は既に設定済みで開発に集中できる感があります。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?