随笔分类 - webpack
记录webpack知识、问题
摘要:代码分离 常用的代码分离方法有三种: 入口起点:使用 entry 配置手动地分离代码。 防止重复:使用 入口依赖 或者 SplitChunksPlugin 去重和分离 chunk 动态导入:通过模块的内联函数调用分离代码。 入口起点 project webpack-demo |- package.j
阅读全文
摘要:管理输出 随着应用程序的不断增长,开始 使用哈希值进行文件命名 并输出 多个 bundle 预先准备 project webpack-demo |- package.json |- package-lock.json |- webpack.config.js |- /dist |- /src |-
阅读全文
摘要:起步 mkdir webpack-demo cd webpack-demo npm init -y // 生成一个package.json npm install webpack webpack-cli --save-dev // 安装webpack、webpack-cli
阅读全文
摘要:(???后续需要再过一遍) 模块热替换(HMR - hot module replacement)功能会在应用程序运行过程中,替换、添加或删除 模块,而无需重新加载整个页面。主要是通过以下几种方式,来显著加快开发速度: 保留在完全重新加载页面期间丢失的应用程序状态。 只更新变更内容,以节省宝贵的开发
阅读全文
摘要:依赖图(dependency graph) 依赖的东西可以是代码,也可以是非代码(images和web字体) 从 入口 开始,webpack 会递归的构建一个 依赖关系图,这个依赖图包含着应用程序中所需的每个模块,然后将所有模块打包为少量的 bundle —— 通常只有一个 —— 可由浏览器加载。
阅读全文
摘要:模块(Modules) 每个模块都具备了条理清晰的设计和明确的目的 何为 webpack 模块 与 Node.js 模块相比,webpack 模块能以各种方式表达它们的依赖关系。下面是一些示例: ES2015 import 语句 CommonJS require() 语句 AMD define 和
阅读全文
摘要:plugin 插件 是 webpack 的 支柱 功能。Webpack 自身也是构建于你在 webpack 配置中用到的 相同的插件系统 之上! 插件目的在于解决 loader 无法实现的其他事。Webpack 提供很多开箱即用的 插件。 剖析 webpack 插件是一个具有 apply 方法的 J
阅读全文
摘要:loader loader 用于对模块的源代码进行转换。loader 可以使你在 import 或 "load(加载)" 模块时预处理文件。如:将ts转成js,将内联图转为data URL 示例 // 安装依赖 npm install --save-dev css-loader ts-loader
阅读全文
摘要:单个入口(简写)语法 //单个入口,简写,字符串module.exports = { entry: './path/to/my/entry/file.js', }; 上面是单个入口的语法,是下面的简写: // 单个入口,完整,对象类型module.exports = { entry: { main:
阅读全文
摘要:入口(entry) 入口起点(entry point)指示webpack打包起点。构建依赖图(dependency graph)的开始。 默认值是 ./src/index.js。可以配置,如下: webpack.config.js module.exports = { entry: './path/
阅读全文