花一些时间批判性地分析代码的哪些部分需要

依赖 DOM 或其他最方便线程的 API。如果可行的话,通过重构消除这些依赖关系,并逐步采用上述模型。在这两种情况下,重要的是使最重要的线程架构的影响可测量。不要期望(或猜测)worker 中的某些东西更快或更慢。浏览器有时会以神秘的方式进行绘制,据称优化的内容可能会产生其他影响。获取信息以做出明智的决定至关重要! Web Workers 和捆绑器 大多数现代互联网开发环境都利用捆绑器来显着提高加载整体性能。捆绑器通过将多个 JavaScript 模块捆绑到一个单独的文件中来尝试这一点。然而,对于 Workers,我们希望文档保持公正,正如 Worker 构造函数所通知的那样。我经常看到人们将他们的操作代码编码到记录或 Blob 中,而不是与捆绑程序进行斗争来完成所需的工作。

这两种技术都会带来严重的问题虽然数量众多

到目前为止,它在任何方面都不会在 Safari 中绘制,但 Blob 会绘制,但是可能没有供应或路径的概念,这意味着方 加拿大手机数据库 向解析和获取可能无法按预期工作。这是员工采用的任何其他障碍,但著名的捆绑商通过最新推出的 Webpack 在管理员工方面做得更好。对于 Webpack v4worker-loader 插件允许 Webpack 理解 Workers 。由于 Webpack v5,Webpack 机械地熟悉 Worker 构造函数,甚至可以在主线程和 Workers 之间分配模块以避免双重加载。 Rollup 对于 Rollup,我编写了 rollup-plugin-off-main-thread,这应该使员工开箱即用。 Parcel Parcel 值得特别强调,因为 v1 和 v2 都可以帮助 Workers 开箱即用,无需额外配置。

对于其中一些捆绑程序使用模块来开发包

顺序可能很平常。然而,这本身又带来了任何其他问题。 Web Workers 和 ES 模块 所有当前的浏览器都通过 <script type=”module 来支持相应的员工浏览器。除了 Firefox 之外,现在的所有浏览器现在也都支持相应的员工浏览器。Safari 的支持是相当新的,因此重要的是不要这样做忘记了支持较旧浏览器的方法。幸运的是,尽管浏览器没有模块辅助,但所有捆绑器(使用上面的插件)将确 带宽列表 保您的模块代码在员工线程中运行。从这个意义上说,使用捆绑器可以被视为模块人员的填充。表格显示,现在大多数浏览器都支持模块人员。Firefox 和所有 Internet Explorer 都缺乏。

Leave a comment

Your email address will not be published. Required fields are marked *