意外使用' self'无限制全局反应

时间:2017-05-31 18:46:23

标签: javascript reactjs

尝试为我的PWA应用编写服务工作者,请注意此错误。我使用Google / Mozilla样本作为服务工作者,但无论如何。

var CACHE_NAME = 'test-cache';
var urlsToCache = [
    '/'
];

self.addEventListener('install', function (event) {
    event.waitUntil(
        caches.open(CACHE_NAME)
            .then(function (cache) {
                console.log('Opened cache');
                return cache.addAll(urlsToCache);
            })
    );
});

4 个答案:

答案 0 :(得分:16)

对于那些仍然存在该问题的人。解决方案是使用const typeObj = array.reduce((obj, item) => { const { type, count } = item.data().specs; obj[type] = obj[type] || { count: 0 }; obj[type].count += count; return obj; }, {}); console.log(typeObj); 而不是简单的window.self

答案 1 :(得分:4)

添加var self = this;或使用this.addEventListener(...)

答案 2 :(得分:0)

您可以使用selfselfno-restricted-globals规则中明确删除eslint-disable-line或仅对包含eslint-disable-next-line的行禁用该规则:

self.addEventListener('install', function (event) { /* eslint-disable-line no-restricted-globals */
...

/* eslint-disable-next-line no-restricted-globals */
self.addEventListener('install', function (event) {
...

答案 3 :(得分:-1)

我在serviceWorker.js的顶部添加了以下内容

/* eslint-disable */