【发布时间】:2022-01-12 13:09:28
【问题描述】:
- 下面是 our nuxt and nuxt-pwa的配置配置。
- Nuxt pwa is recognising a new version available 我们会提示用户进行硬刷新/重新加载。
- 在重新加载时 - 新 UI 也开始工作。
-
但是,如果我们在新标签页中打开该网站。显示微调器并且无法加载最新的前端。同样,需要硬刷新。
- 默认情况下,我们的前端在访问 localhost:8080 时重定向到 /dashboard,这是从 serviceworker 加载缓存数据的。
- 请帮助我们解决这个问题,因为这对我们来说是一个关键问题。
在新标签打开时看到的微调器:
export default {
ssr: false,
target: 'static',
head: {
titleTemplate: '',
title: 'NocoDB',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: process.env.npm_package_description || '' }
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: './favicon-32.png' }
]
},
plugins: [
// plugins
],
buildModules: [
'@nuxtjs/vuetify',
'@nuxtjs/pwa'
],
modules: [
// Doc: https://axios.nuxtjs.org/usage
'@nuxtjs/axios',
'vue-github-buttons/nuxt',
'@nuxtjs/toast'
],
axios: {
baseURL: process.env.NC_BACKEND_URL || (process.env.NODE_ENV === 'production' ? '..' : 'http://localhost:8080')
},
router: {
mode: 'hash',
base: process.env.NODE_ENV === 'production' ? './' : '',
middleware: ['auth']
},
vuetify: {
defaultAssets: {
icons: false
},
optionsPath: '@/config/vuetify.options.js',
treeShake: true,
customVariables: ['./config/variables.scss']
},
build: {
parallel: true,
plugins: [
new MonacoEditorWebpackPlugin({
languages: ['sql', 'json', 'javascript'],
features: ['!gotoSymbol']
})
],
extend(config, { isDev, isClient }) {
if (isDev) {
config.devtool = isClient ? 'source-map' : 'inline-source-map'
}
config.externals = config.externals || {}
config.externals['@microsoft/typescript-etw'] = 'FakeModule'
return config
}
},
pwa: {
workbox: {
assetsURLPattern: /\/_nuxt\//,
config: { debug: true }
},
icon: {
publicPath: './'
},
manifest: {
name: 'NocoDB',
start_url: '../?standalone=true',
theme_color: '#ffffff'
}
}
}
灯塔报告:
Github 问题参考:https://github.com/nuxt-community/pwa-module/issues/501
【问题讨论】:
标签: javascript vue.js nuxt.js progressive-web-apps service-worker