@nuxtjs/pwa 不会生成带有本地系统主机信息的 sw.js

@nuxtjs/pwa does not generate sw.js with local system hosts information

我想在 nuxt(@2.3.4) 网络应用程序中应用 PWA。 操作系统是 OSX 最新的。 所以我安装了 @nuxtjs/pwa 并向 nuxt.config.js 添加了一些配置。

这些是我添加的

module.exports = {
    ...

    modules: [
        ['@nuxtjs/pwa', {icon : false}]
    ],

    workbox : {
        dev: true,
        debug: true
    },

    manifest : {
        viewport: 'width=device-width, initial-scale=1',
        theme_color: '#3B8070'
    },
    ...
}

并使用 NODE_ENV=production 构建并开始。

我可以在 localhost:9000 中找到 sw.js,但它不可用 local.jy.net:9000.

自从我在我的 hosts 文件中注册该主机名以来,我一直期待相同的结果。

这是我在 /private/etc/hosts.

中的内容
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost 
127.0.0.1   Juneui-MacBook-Pro.local
127.0.0.1       local.jy.net aad901eb546340cc9a69b0b030b124fc.jy.net

如何使 @nuxtjs/pwa 引用系统主机变量?

如果您需要更多信息,请添加回复,然后我会尽可能提供。谢谢。

@nuxtjs/pwa 包正在寻找 build.publicPath 选项:https://github.com/nuxt-community/pwa-module/blob/9f27d5cdae0e0341d6d4b4f6814f91db6eab1432/packages/manifest/index.js#L24

将此选项添加到您的 nuxt.config.js 应该可以解决问题:

module.exports = {
   ...

   modules: [
      ['@nuxtjs/pwa', {icon : false}]
   ],

   workbox : {
      dev: true,
      debug: true
   },

   manifest : {
      viewport: 'width=device-width, initial-scale=1',
      theme_color: '#3B8070'
   },

   build: {
     publicPath: '//local.jy.net:9000/pwa/',
   }
   ...
}

您可以在此处找到有关 publicPath 属性 的更多信息:https://nuxtjs.org/api/configuration-build#publicpath