Workbox加载错误的动态导入url



我正在使用工作簿&用于laravel/vuejs应用程序的babel动态导入。我还使用laravel-mixlaravel-mix-workbox插件通过generateSW()编译和生成服务工作者。

根据vue路由器中设置的条件,将资产正确加载到根urlhttps://myapp.test/中。像这样:CCD_ 5。当我访问像https://myapp.test/post/post1这样的子页面时,与页面相关的块也会正确加载。到目前为止一切都很好!

但是,当我直接访问(https://myapp.test/post/post1(的帖子页面时,动态资产URL会附加到最新的斜杠,即https://myapp.test/post/assets/js/chunk1.js,并且无法加载它们。就好像根url被设置为我们访问的第一个页面一样。

我已经尝试添加output.path&webpack配置中的output.publicPath,但它们没有帮助。

相关包:

"devDependencies" {
"workbox-webpack-plugin": "^6.0.2",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"laravel-mix": "^5.0.9",
"laravel-mix-workbox": "^0.1.4",
}

generateSW配置:

mix.generateSW({
mode: 'development',
runtimeCaching: [
{
urlPattern: /.(?:jpg|jpeg|svg|png|json)$/,
handler: 'CacheFirst',
},
{
urlPattern: /api($|/?.*)/,
handler: 'NetworkFirst'
}
],
exclude: [
/(backend.css|backend.js)/
],
include: [
/.(?:ttf|js|css|glb)$/,
/(/font.png)/
],
skipWaiting: true,
});

谢谢你抽出时间。

我最终通过在我的html<head>中添加一个<base>标记来修复它。事实证明,这是工作簿确定基本URL的地方。

<base href="https:://myapp.test/">

任何在我的情况下在拉拉威尔:

<base href="{{config('app.url')}}">

最新更新