简体   繁体   English

vscode 服务工作者接口对象自动完成

[英]vscode service worker interface objects auto completion

Why vscode dose not see service worker interface objects?为什么 vscode 看不到 service worker 接口对象?
lack of auto completion缺乏自动完成
While browser shows that they are still there虽然浏览器显示它们仍然存在
presence of object logged in browser浏览器中登录的对象的存在
How to fix this?如何解决这个问题?

whole service worker code:整个服务人员代码:

self.addEventListener('install', event => {
    console.log('V1 installing…');
    event.waitUntil(
        caches.open('static-v1').then(cache => cache.add('/cat.png'))
    );
});

self.addEventListener('activate', event => {
    console.log('V1 now ready to handle fetches!');
});

self.addEventListener('fetch', event => {
    const url = new URL(event.request.url);
    if (url.origin == location.origin && url.pathname == '/dog.png') {
        event.respondWith(caches.match('/cat.png'));
    }

    if (url.origin == location.origin) {
        console.log("Clients object: ", clients);
    }
});

The easiest way is to use JSDOC syntax最简单的方法是使用 JSDOC 语法

/**@type {ServiceWorkerGlobalScope} sw */
const sw = self

and use the constant in your code.并在代码中使用常量。

sw.addEventListener('install', (ev) => {
  // the event argument will have ServiceWorker specific intellisense
  ev.wait
})

Excludes default libs such as 'dom' conflicting with 'webworker'排除默认库,例如与“webworker”冲突的“dom”

On the top of the file add在文件顶部添加

/// <reference no-default-lib="true"/>
/// <reference lib="esnext" />
/// <reference lib="webworker" /> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM