我真的很喜欢 vscode 的 JSON 验证器。它可以捕获许多编辑器无法捕获的错误,因此我真的很想在预提交测试中使用它。为此,我希望有一个与它相当的 npm。
假设我正在检查这个 JSON 文件。
{
"a": "b",
"b": "c",
"c": "d",
}
Run Code Online (Sandbox Code Playgroud)
它后面有一个逗号,这是不允许的。然而,jsonlint,它似乎是最流行的 npm json linter 给出了错误:
Error: Parse error on line 4:
...b": "c", "c": "d",}
---------------------^
Expecting 'STRING', got '}'
Run Code Online (Sandbox Code Playgroud)
这可能要花我很长时间才能找到,而 vscode:
Trailing comma json(519) [4,11]
Run Code Online (Sandbox Code Playgroud)
这更容易阅读。
我有一个来自我的服务人员js/index.js
:
import '../scss/app.scss';
// Detect if service workers enabled
if ('serviceWorker' in navigator) {
try {
navigator.serviceWorker.register('../sw.js');
console.log('Service Worker Registered');
} catch (error) {
console.log('Service Worker Register Failed');
}
}
Run Code Online (Sandbox Code Playgroud)
和我的 sw.js 在我的根目录中:
const staticAssets = ['./', 'scss/app.scss', 'js/index.js'];
self.addEventListener('install', async (event) => {
const cache = await caches.open('min-static');
cache.addAll(staticAssets);
});
self.addEventListener('fetch', (event) => {
console.log('fetch');
});
Run Code Online (Sandbox Code Playgroud)
被打包并打包放入dist文件夹。构建完成后localhost
,我会打开 chrome 工具并进入应用程序选项卡。我进入缓存存储选项卡,然后:
这是怎么回事?为什么我的网站不像The PWA Tutorial那样被很好地缓存?不应该是这样的:
? 当然,我正在通过 babel 运行一切,但为什么它不起作用?