Javascript 如何在服务人员中使用其他js文件?

Javascript 如何在服务人员中使用其他js文件?,javascript,html,service-worker,Javascript,Html,Service Worker,如何在服务人员中使用其他js文件?我不知道如何将本地js文件包含到我的服务人员中 index.html中的消息处理程序 <script src="pushjs\push.min.js"></script> <script src="pushjs\serviceWorker.min.js"></script> firebase-messaging-sw.js中的后台消息处理程序 messaging.set

如何在服务人员中使用其他js文件?我不知道如何将本地js文件包含到我的服务人员中

index.html中的消息处理程序

 <script src="pushjs\push.min.js"></script>
 <script src="pushjs\serviceWorker.min.js"></script>
firebase-messaging-sw.js中的后台消息处理程序

messaging.setBackgroundMessageHandler(function(payload){
    console.log(payload);

                //Push.create(notifTitle, {
                //    body: notifMessage,
                //});
                // I would want to also use this here


     
})
给你两个答案:

  • 现在,在现代环境中,我认为您可以通过在调用中包含options对象,使您的服务人员成为模块,方法是使用
    键入:“module”
    ,这意味着您可以使用
    导入

    import { something } from "./somewhere.js";
    
  • 服务工作者的全局作用域是实现的,它具有一个可用于将脚本加载到工作者中的函数。下面是最后一个链接中的示例:

    self.importScripts('foo.js');
    self.importScripts('foo.js', 'bar.js', ...);
    

  • 为了将脚本加载到软件范围中,您需要使用:


    我想补充一点,如果您更改了这些依赖项中的任何一个,您将需要触发服务工作者进行更新,因为它不仅会加载新版本。我需要再次检查,它甚至可能需要注销,但这可能只是我在考虑开发。
    self.importScripts('foo.js');
    self.importScripts('foo.js', 'bar.js', ...);
    
    importScripts('https://yourdomain.com/push.min.js');