小编Raj*_*jar的帖子

如何根据环境变量自定义我的Service Worker?

编辑:这看起来像此未解决问题的重复。我是否将此标记为已回答或删除?

我正在Vue CLI 3应用程序内的workbox-webpack-plugin中使用InjectManifest。我要注入的自定义服务人员已经处理了Firebase Cloud Messaging(FCM)。我需要根据我的环境(本地,暂存和生产)来侦听来自不同发件人的消息。

理想情况下,service-worker.js将如下所示:

importScripts('https://www.gstatic.com/firebasejs/4.8.1/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/4.8.1/firebase-messaging.js');

firebase.initializeApp({
    'messagingSenderId': process.env.VUE_APP_FCM_SENDER_ID
});
Run Code Online (Sandbox Code Playgroud)

但是,webpack似乎未触及此代码,因为输出服务工作者仍在读取process.env.VUE_APP_FCM_SENDER_ID而不是硬编码的密钥。

如何通过webpack运行服务工作者,以解决环境变量?

environment-variables webpack service-worker workbox-webpack-plugin vue-cli-3

8
推荐指数
2
解决办法
1067
查看次数