首页 > 解决方案 > 缩小自己捆绑中的脚本,以供 Angular 应用程序中的网络工作者使用

问题描述

我正在开发一个 Angular (v6) 应用程序,并且在一个特定的组件中,我想Worker通过传递一个我想在生产中缩小的 JavaScript 文件来初始化一个 web worker。

@Injectable({
   providedIn: 'root',
})
export class MyService {

  constructor() {
    this.worker = new Worker('script.js');
    this.worker.onmessage = (event: MessageEvent) => {
      ...
    };
  }

}

申请内容angular.json如下:

{
  "projects": {
    "app-name": {
      "architect": {
        "build": {
          "options": {
            "scripts": [
              "src/scripts/worker.script.js",
              ...
            ]
          }
        }
      }
    }
  }
}

该文件src/scripts/worker.script.js包含一个典型的 Javascript 自调用匿名函数:

(function() {
  ...
}());

现在,这个解决方案只部分满足了我,因为所有脚本都在 中一起缩小scripts.js,因此我传递给 Worker 的内容可能比我需要的更多。特别是,如果在任何时候我需要第二次Worker拍摄第二个剧本,我的方法就会失败。请考虑以下限制:

标签: javascriptangularbundleminifyweb-worker

解决方案


推荐阅读