Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5 Lighthouse shows在pwa中脱机时不响应200,但脱机模式有效_Laravel 5_Webpack_Progressive Web Apps_Workbox_Workbox Webpack Plugin - Fatal编程技术网

Laravel 5 Lighthouse shows在pwa中脱机时不响应200,但脱机模式有效

Laravel 5 Lighthouse shows在pwa中脱机时不响应200,但脱机模式有效,laravel-5,webpack,progressive-web-apps,workbox,workbox-webpack-plugin,Laravel 5,Webpack,Progressive Web Apps,Workbox,Workbox Webpack Plugin,快速问题: 浏览器将我的应用程序识别为有效的PWA,并在移动浏览器上显示安装弹出窗口。在lighthouse中进行审核时,显示脱机时不响应200。我已经验证了我的应用程序外壳是从应用程序缓存的(附屏幕截图) 详细信息和背景: 我使用js和jquery在laravel上构建了PWA。对于资产编译,我使用laravel mix,对于PWA框架,我使用workbox。另外,我要明确的是,我没有使用任何SPA框架/库 简言之,我使用更简单的组件构建了一个定制水疗中心 对于PWA部分,我使用workbox

快速问题:

浏览器将我的应用程序识别为有效的PWA,并在移动浏览器上显示安装弹出窗口。在lighthouse中进行审核时,显示脱机时不响应200。我已经验证了我的应用程序外壳是从应用程序缓存的(附屏幕截图)

详细信息和背景: 我使用js和jquery在laravel上构建了PWA。对于资产编译,我使用laravel mix,对于PWA框架,我使用workbox。另外,我要明确的是,我没有使用任何SPA框架/库

简言之,我使用更简单的组件构建了一个定制水疗中心

对于PWA部分,我使用workbox和laravel mix。 这是我的服务人员manifest.json和mix文件。注意,我使用sw.js并使用laravel mix生成prod-sw.js。此prod-sw.js用于生产

webpack.mix.js

require('laravel-mix-versionhash');
const mix = require('laravel-mix');

const workboxPlugin = require('workbox-webpack-plugin');
mix.webpackConfig({
    output: {
        filename: '[name].[contenthash].js',
        publicPath: ''
    }, 
    plugins: [
        new workboxPlugin.InjectManifest({
            swSrc: 'sw.js', // more control over the caching
            swDest: 'prod-sw.js', // the service-worker file name
            importsDirectory: 'service-worker', // have a dedicated folder for sw files
            exclude: [/\.map$/, /mix-manifest\.json$/, /mix\..*\.js$/, /manifest\.json$/, /service-worker\.js$/, /OneSignalSDKWorker\.js$/],
            include: [/template\..*\.html$/, /\.js$/, /app\..*\.css$/, /logo.png$/],
            templatedUrls: {
              '/pwa': 'version-' + process.env.MIX_APP_VERSION,
            },
        })
    ],
})

mix.sass('resources/assets/sass/homepage.scss', 'public/css/')
    .sass('resources/assets/sass/amp.scss', 'public/css/')
    .sass('resources/assets/sass/app.scss','public/css/');

if (mix.inProduction()){
    mix.versionHash();
}else{
    mix.sourceMaps();
}
sw.js

manifest.json

{
    "short_name": "Example",
    "name": "Example",
    "description": "Example App Description",
    "gcm_sender_id": "1234567890",
    "start_url" : "/pwa",
    "display": "standalone",
    "orientation": "portrait",
    "theme_color": "#FFFFFF",
    "background_color": "#FFFFFF",
    "icons": [
        {
            "src": "https://cdn.example.com/assets/icons/icon-48x48.png",
            "sizes": "48x48",
            "type": "image/png"
        }
    ]
}

随附清单文件、缓存存储和灯塔报告的快照,供您参考,和

我有同样的问题,但没有提供
templateUrl
属性。 它只在devTools中脱机工作,但不完全脱机,lighthouse给出了与您相同的结果

{
    "short_name": "Example",
    "name": "Example",
    "description": "Example App Description",
    "gcm_sender_id": "1234567890",
    "start_url" : "/pwa",
    "display": "standalone",
    "orientation": "portrait",
    "theme_color": "#FFFFFF",
    "background_color": "#FFFFFF",
    "icons": [
        {
            "src": "https://cdn.example.com/assets/icons/icon-48x48.png",
            "sizes": "48x48",
            "type": "image/png"
        }
    ]
}