首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成vue 3时未生成Service worker

生成vue 3时未生成Service worker
EN

Stack Overflow用户
提问于 2021-08-25 05:17:15
回答 1查看 415关注 0票数 0

我已经在我的package.json中安装了"@vue/cli-plugin-pwa": "^4.5.12",,还在我的vue.config.js中添加了workbox配置。问题是,当我使用包含我的脚本:vue-cli-service build --mode prod.examplenpm run build:prd构建项目时,我的dist文件夹中没有service-worker.js

这是我的vue.config.js:

代码语言:javascript
复制
module.exports = {
    // ...other vue-cli plugin options...
    pwa: {
        // configure the workbox plugin
        workboxPluginMode: 'InjectManifest',
        workboxOptions: {
            // swSrc is required in InjectManifest mode.
            swSrc: 'src/service-worker.js',
            // ...other Workbox options...
        }
    }
}

我曾尝试在package.json中移植pwa插件配置,但效果不佳。我只是在dist文件夹中找不到我的service-worker.js

当前的解决方法是将service-worker.js放在pubic文件夹中。这种方法的问题是,服务工作者不会在每次发布新版本时都进行更新。当前的目的是通知客户端新版本是否可用,但我不能触发update事件,因为service-worker.js是静态的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-02 10:48:14

我发现了问题,@vue/cli-plugin-pwa只会在process.env.NODE_ENV === 'production'的情况下生成service-worker。同时,在我的项目中,当我运行npm run build时,NODE_ENV不会自动设置为production,但它仍然是development我不知道是什么导致了这种行为,但是如果我在我的所有.env中添加NODE_ENV=production,这个问题就解决了。这样,每次构建时都会生成precache-manifest....js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68917163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档