《玩转webpack》第五章 进阶篇: webpack 构建速度和体积优化策略v2/polyfill.min.js?unknown=polyfill&features=Promise,Map,Set ## 体积优化策略总结 Scope Hoisting Tree-shaking 公共资源分离 图片压缩 动态 Polyfill ## ☐ ☐ ☐ ☐ ## 扫码试看/订阅 《玩转webpack》0 码力 | 36 页 | 8.13 MB | 2 年前3
Angular CLI Tutorialis set up in the workspace configuration s uch that all builds make use of bundling, limited tree-shaking, and also limited dead code elimination. --progress Log progress to the console while building target is set up in the workspace configuration such that all builds make use of bundling, limited tree-shaking, and also limited dead code elimination.| |---|---|---| |28|--progress=true\|false|Log progress target is set up in the workspace configuration such that all builds make use of bundling, limited tree-shaking, and also limited dead code elimination.| |19|--progress=true\|false|Log progress to the console0 码力 | 64 页 | 1.04 MB | 2 年前3
webpack 5 why breaking changesADD HMR FOR OTHER MODULE TYPES THAN JS • I. E. CSS, WASM, LOCALIZATION, HTML ## NESTED TREE-SHAKING • TREE-SHAKING IS NOW ABLE TO TRACK REEXPORTED NAMESPACE OBJECTS • import { b } from "a"; b0 码力 | 43 页 | 8.58 MB | 2 年前3
Web的未来
新技术和新语言带来的改变8c0bb7aab9cbc4b262460031fb/p50_6.jpg) ## Tree-shaking calls  Tree-shaking compiler (dart2js) ## 高性能 ● 语言的设计影响性能 - 使用snapshot启动速度快10倍0 码力 | 91 页 | 3.44 MB | 2 年前3
Vue.js v3.0 教程(Vue3 教程)window)支持 tree-shaking,这是“死代码消除”的一个花哨术语。不幸的是,由于代码是如何在以前的 Vue 版本中编写的,全局 API Vue.nextTick() 不可摇动,将包含在最终捆绑中不管它们实际在哪里使用。 ### 3. x 语法 本文档使用书栈网·BookStack.CN构建 在 Vue 3 中,全局和内部 API 都经过了重构,并考虑到了 tree-shaking 的支持。因此,全局 // 运行你的断言 }) 直接调用 Vue.nextTick() 将导致臭名昭著的 undefined is not a function 错误。 通过这一更改,如果模块绑定器支持 tree-shaking,则 Vue 应用程序中未使用的全局 api 将从最终捆绑包中消除,从而获得最佳的文件大小。 ## 受影响的 API ### V ue 2.x 中的这些全局 API 受此更改的影响: 组件,那么支持此功能的代码将不会出现在最终的捆绑包中。 随着全局 tree-shaking,用户只需为他们实际使用的功能“付费”,更好的是,知道了可选特性不会增加不使用它们的应用程序的捆绑包大小,框架大小在将来已经不再是其他核心功能的考虑因素了,如果有的话。 ## 重要 以上仅适用于 ES Modules builds,用于支持 tree-shaking 的绑定器—UMD 构建仍然包括所有特性,并暴露 Vue0 码力 | 368 页 | 3.97 MB | 2 年前3
《玩转webpack》 第三章 基础篇 Webpack 进阶用法代码不会被执行,不可到达 代码执行的结果不会被用到 代码只会影响死变量(只写不读) if (false) { console.log('这段代码永远不会执行'); } ## Tree-shaking 原理 利用 ES6 模块的特点: · 只能作为模块顶层的语句出现 · import 的模块名只能是字符串常量 · import binding 是 immutable 的 代码擦除:0 码力 | 69 页 | 4.33 MB | 2 年前3
2019-2021 美团技术年货 前端篇Dart-SDK、Framework 和 Flutter_Web_SDK,这些 SDK 对包体积的影响是巨大的,几乎贡献了初始化包的所有大小。虽然在 Release 模式下的编译流程中,Dart Compiler 会利用 Tree-Shaking 来剔除那些引入但未使用的 packages、classes、functions 等,很大程度上减少了包体积。但这些 SDK 中仍然存在一些能被进一步优化的代码。 以 Flutter Framework Framework 为例,由于它是全平台公用的模块,因此不可避免地存在各平台的兼容逻辑(通常以 if-else、switch 等条件判断形式出现),而这部分代码是不能被 Tree-Shaking 剔除的,我们观察如下的代码: // FileName: flutter/lib/src/rendering/ editable.dart void _handleKeyEvent(RawKeyEvent keyEvent) // Other codes ... } 上述代码选自 Framework 中的 RenderEditable 类,当 klsWeb 变量为真,表示当前应用运行在 Web 平台。受限于 Tree-Shaking 的机制原理,上述代码中,其它平台的兼容逻辑即注释 Other codes 的部分是无法被剔除的,但这部分代码,对 Web 平台来说却是 Dead Code(永远不可能被执行到的代码),是可以被进一步优化的。0 码力 | 738 页 | 50.29 MB | 2 年前3
TypeScript Handbook(中文版)
: es5 和 module: es6 同时使用 之前编译参数 target:es5 和 module:es6 同时使用被认为是无效的,但是现在是有效的。这将有助于使用基于ES2015的tree-shaking(将无用代码移除)比如 rollup。 ## 函数形参和实参列表末尾支持逗号 现在函数形参和实参列表末尾允许有逗号。这是对第三阶段的ECMAScript提案的实现,并且会编译为可用的 ES3/ES5/ES6。0 码力 | 557 页 | 7.48 MB | 2 年前3
TypeScript 4.0 使用手册
target: es5 和 module: es6 同时使用 之前编译参数 target:es5 和 module:es6 同时使用被认为是无效的,但是现在是有效的。这将有助于使用基于ES2015的tree-shaking(将无用代码移除)比如rollup。 ## 函数形参和实参列表末尾支持逗号 现在函数形参和实参列表末尾允许有逗号。这是对第三阶段的ECMAScript提案的实现,并且会编译为可用的 ES3/ES5/ES6。0 码力 | 683 页 | 6.27 MB | 2 年前3
共 9 条
- 1
相关搜索词
WebpackBundleAnalyzerPluginspeed-measure-webpack-pluginTree-shakingScope HoistingAngular CLIng newng generateng serveng buildWebpack 5Breaking ChangesPolyfillsCacheFilenameWeb ComponentsDartPolymer 库TypeScriptGWTVue.js v3.0新特性重大改变Composition API渲染函数API模块机制打包原理代码分割构建优化跨端技术微前端容器化架构前端日志系统Flutter版本更新基础类型模块声明文件TypeScript 4.0编译速度优化可选链编辑器支持自动补全













