如何在生产环境中 minify/uglify 使用 Angular 构建 webworker 包
How to minify/uglify webworker bundles built with Angular in production
我需要使用 web-worker 进行繁重的计算,Angular 提供了一种使用 CLI 命令在应用程序中生成 web-worker 的便捷方法 ng generate web-worker app
。
问题是,当使用 ng build --prod
在生产中构建时,生成的 web-worker 包似乎没有得到很好的优化。我仍然可以在文件中找到整个变量、class 或方法名称,并且部分代码在包中很容易阅读,这让我很困惑。
有没有办法更好地缩小该代码?
此致,
编辑:
举个例子,这里是app.worker.ts的内容:
/// <reference lib="webworker" />
class MyClassName{
myMethodName(){}
}
const myVariableName = new MyClassName()
postMessage(myVariableName.myMethodName());
这可以在使用 ng build --prod
生成的 worker.js 文件中找到
const myVariableName=new class{myMethodName(){}};postMessage(myVariableName.myMethodName())}});
代码经过优化,但仍然易于阅读。
编辑 2:错字
编辑您的 angular.json
并设置 optimization:true
经过一些研究,似乎有意将 webworker 文件(如 service-worker 文件)缩小。
可以手动缩小为 explained here
我需要使用 web-worker 进行繁重的计算,Angular 提供了一种使用 CLI 命令在应用程序中生成 web-worker 的便捷方法 ng generate web-worker app
。
问题是,当使用 ng build --prod
在生产中构建时,生成的 web-worker 包似乎没有得到很好的优化。我仍然可以在文件中找到整个变量、class 或方法名称,并且部分代码在包中很容易阅读,这让我很困惑。
有没有办法更好地缩小该代码?
此致,
编辑: 举个例子,这里是app.worker.ts的内容:
/// <reference lib="webworker" />
class MyClassName{
myMethodName(){}
}
const myVariableName = new MyClassName()
postMessage(myVariableName.myMethodName());
这可以在使用 ng build --prod
const myVariableName=new class{myMethodName(){}};postMessage(myVariableName.myMethodName())}});
代码经过优化,但仍然易于阅读。
编辑 2:错字
编辑您的 angular.json
并设置 optimization:true
经过一些研究,似乎有意将 webworker 文件(如 service-worker 文件)缩小。
可以手动缩小为 explained here