【问题标题】:Unable to find a place to inject the manifest找不到注入清单的地方
【发布时间】:2020-12-31 17:43:42
【问题描述】:

我正在尝试使我的 laravel 成为 PWA。我所做的是, 运行

npm install workbox-cli -g

在公共文件夹中创建 sw-base.js 文件,

importScripts(
    'https://storage.googleapis.com/workbox-cdn/releases/6.0.2/workbox-sw.js'
);

workbox.precaching.precacheAndRoute([]);

现在在根文件夹中创建了一个 workbox-config.js 文件,

module.exports = {
    globDirectory: 'public/',
    globPatterns: ['**/*.{js,css,png,jpg}','offline.html'],
    swSrc: 'public/sw-base.js',
    swDest: 'public/service-worker.js',
    globIgnores: [
        '../workbox-cli-config.js',
        'photos/**'
  ]
};

在 package.json 中添加脚本

"generate-sw": "workbox injectionManifest workbox-config.js"

现在运行时

npm run generate-sw

我得到类似的错误

Service Worker 生成失败: 无法找到注入清单的位置。请确保您的 Service Worker 文件包含以下内容:self.__WB_MANIFEST

我遵循了this 教程,但没有工作。

【问题讨论】:

    标签: laravel workbox


    【解决方案1】:

    如果你想使用 InjectManifest,你应该有一个现有的 service worker。 我建议使用 GenerateSW。它会为你创建 service worker。

    【讨论】:

    • 谢谢。在哪里添加该代码,请提供 laravel 文档的链接。
    • 我遵循了this 教程,但没有工作。
    • 我在脚本中添加了工作箱 generateSW,现在我的配置无效,module.exports = { globDirectory: 'public/', globPatterns: ['**/*.{js,css,png,jpg}','offline.html'], swSrc: 'public/sw-base.js', swDest: 'public/service-worker.js', globIgnores: [ '../workbox-cli-config.js', 'photos/**' ] };
    猜你喜欢
    • 1970-01-01
    • 2018-05-12
    • 2013-03-03
    • 1970-01-01
    • 2021-12-16
    • 2016-05-24
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    相关资源
    最近更新 更多