Nuxt2をローカルでテストするとnuxt_plugin_swplugin_*がないよと怒られる

前置き

チュートリアルにあるコマンドで生成したテンプレートにある、yarn startまたは、npm run startで開始するとlighthouseでpwaテスト時にエラーが出て発覚

一応コマンドの中身

cross-env NODE_ENV=production node server/index.js
.nuxt/index.js
import 'es6-promise/auto'
import Vue from 'vue'
import Meta from 'vue-meta'
import { createRouter } from './router.js'
import NoSSR from './components/no-ssr.js'
import NuxtChild from './components/nuxt-child.js'
import NuxtLink from './components/nuxt-link.js'
import NuxtError from './components/nuxt-error.vue'
import Nuxt from './components/nuxt.js'
import App from './App.js'
import { setContext, getLocation, getRouteData } from './utils'


/* Plugins */
import nuxt_plugin_swplugin_708a52a3 from 'nuxt_plugin_swplugin_708a52a3' // Source: ./sw.plugin.js (ssr: false)

このnuxt_plugin_swplugin_708a52a3がないって怒られた。

解決策

https://pwa.nuxtjs.org/modules/workbox.html
pwaはworkbox(サービスワーカーをラップしたライブラリ)を使っていて、そこを辿ってたら、これじゃね?的な感じで発見した。
ですので、pwaテストをする場合は、nuxt build && nuxt startする必要がある

最後に

そもそもnuxt_plugin_swplugin_708a52a3とかの名前解決ってnuxtはどうやってるんだろう。。。?

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.