我正在开发执行强大计算操作的角度库。因此,我对实现Web Worker感兴趣,以便获得更好的用户体验并使复杂的操作在后台运行。
我的问题是,当我使用Angular CLI 8运行命令ng g web-worker
时,输出为Web Worker requires a project type of "application".
有没有人建议如何在我的图书馆中实施网络工作者?
答案 0 :(得分:1)
图书馆本身应该只向其用户提供功能。由开发人员决定如何使用它们:在网页的主要上下文中,在Web工作程序中或在服务器端呈现管道中。因此,没有直接简单的方法可以完成您要问的事情。正确的方法是先创建您的库,然后创建一个单独的项目,例如
ng new --create-application false workername
,然后直接配置webpack以获得使用您的库的精简包。如果您确实想将Webworker捆绑在库中,则可以尝试对其进行内联(see)。它还需要您弄乱webpack才能创建缩小的结果,并将其作为Blob嵌入到包中。
查看以下链接,这两种情况均有用:
https://github.com/webpack-contrib/worker-loader
https://github.com/GoogleChromeLabs/worker-plugin
https://www.npmjs.com/package/webworkify-webpack?activeTab=readme
答案 1 :(得分:0)
我认为您必须在ng generate web-worker
----> ng generate web-worker app
之后添加应用!
答案 2 :(得分:0)