vue.config.js
@@ -106,6 +106,13 @@
    config.plugins.delete("preload"); // TODO: need test
    config.plugins.delete("prefetch"); // TODO: need test
    // 让改 src/workers/*.worker.js 也能触发 dev server 重建。
    // *.worker.js 已由 worker-loader 处理,但 vue-cli 内置的 js 规则(/\\.m?jsx?$/,
    // 含 cache-loader + babel-loader)同样会命中它。cache-loader 会缓存 worker 模块的
    // 产物,worker 源文件改动后即使模块被判失效并重建,cache-loader 仍直接返回旧缓存,
    // 于是 dev server 一直发旧包(改了 worker 不生效)。把它排除掉即可。
    config.module.rule("js").exclude.add(/\.worker\.js$/);
    // set svg-sprite-loader
    config.module.rule("svg").exclude.add(resolve("src/assets/icons")).end();
    config.module