@ nuxtjs / pwa不会使用本地系统主机信息生成sw.js

时间:2018-12-12 08:23:40

标签: configuration progressive-web-apps nuxt.js hostname

我想在nuxt(@2.3.4)Web应用程序中应用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构建并开始。

我能够在sw.js中找到localhost:9000,但不适用于 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引用系统主机变量?

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

1 个答案:

答案 0 :(得分:1)

@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