-
CleanWebpackPlugin() }; 避免构建前每次都需要⼿手动删除 dist 使⽤用 clean-webpack-plugin ·默认会删除 output 指定的输出⽬目录 CSS3 的属性为什什么需要前缀? Trident(-ms) Geko(-moz) Webkit(-webkit) Presto(-o) 举个例例⼦子 .box { -moz-border-radius: 10px; W3C 对 rem 的定义: font-size of the root element rem 和 px 的对⽐比: ·rem 是相对单位 ·px 是绝对单位 移动端 CSS px ⾃自动转换成 rem module.exports = { module: { rules: [ { test: /\.less$/, use: [ 'style-loader', 'css-loader' code) 会导致什什么问题? 运⾏行行代码时创建的函数作⽤用域变多,内存开销变⼤大 ⼤大量量作⽤用域包裹代码,导致体积增⼤大(模块越多越明显) 模块转换分析 结论: ·被 webpack 转换后的模块会带上⼀一层包裹 ·import 会被转换成 __webpack_require 模块 模块初始化函数 进⼀一步分析 webpack 的模块机制 分析: · 打包出来的是⼀一个 IIFE
0 码力 |
69 页 |
4.33 MB
| 1 年前 3
-
webpack-cli (webpack-command) 这个 npm 包,并且 执行 CLI webpack-cli 做的事情 引入 yargs,对命令行进行定制 分析命令行参数,对各个参数进行转换,组成编译配置项 引用webpack,根据配置项进行编译和构建 从NON_COMPILATION_CMD分析出不需要编译的命令 const { NON_COMPILATION_ARGS } = ·options: 通用参数(帮助命令、版本信息等) webpack-cli 执行的结果 最终会根据配置参数实例化 webpack 对象,然后执行构建流程 webpack-cli对配置文件和命令行参数进行转换最终生成配置选项参数 options Webpack 的本质 Webpack可以将其理解是一种基于事件流的编程范例,一系列的插件运行。 先看一段代码 class Compiler extends 达式时,收集依赖 所有依赖build完 成,开始优化 输出到dist目录 build-module 开始构建某个模块 WebpackOptionsApply 将所有的配置 options 参数转换成 webpack 内部插件 使用默认插件列表 举例: ·output.library -> LibraryTemplatePlugin ·externals -> ExternalsPlugin
0 码力 |
39 页 |
3.66 MB
| 1 年前 3
-
。 在 Web 前端开发工作中有很多“重复工作”,比如压缩CSS/JS文件。而这些工作都是有规律的。找到这 些规律,并编写 gulp 配置代码,让 gulp 自动执行这些“重复工作”。 将规律转换为 gulp 代码 现有目录结构如下: └── js/ └── a.js 规律 1. 找到 js/目录下的所有 .js 文件 2. 压缩这些 js 文件 3. 将压缩后的代码另存在 帮助你自动构建 Web 项目。 gulp 还可以做很多事,例如: 1. 压缩CSS 2. 压缩图片 3. 编译Sass/LESS 4. 编译CoffeeScript 5. markdown 转换为 html gulp 入门指南 - 2 - 本文档使用 看云 构建 安装 Node 和 gulp gulp 是基于 node 实现的,那么我们就需要先安装 node。 Node 是一个基于Chrome 有一些性能问题和缺少容错性,将在后面的章节详细说明。 gulp 入门指南 - 10 - 本文档使用 看云 构建 使用 gulp 压缩 CSS 压缩 css 代码可降低 css 文件大小,提高页面打开速度。 我们接着将规律转换为 gulp 代码 规律 找到 css/ 目录下的所有 css 文件,压缩它们,将压缩后的文件存放在 dist/css/ 目录下。 gulp 代码 你可以 下载所有示例代码 或 在线查看代码
0 码力 |
36 页 |
275.87 KB
| 1 年前 3
-
webpack 开箱即用只支持 JS 和 JSON 两种文件类型,通过 Loaders 去支持其它文 件类型并且把它们转化成有效的模块,并且可以添加到依赖图中。 本身是一个函数,接受源文件作为参数,返回转换的结果。 常⻅见的 Loaders 有哪些? Loaders 的⽤用法 const path = require('path'); module.exports = { output: { filename: 'style-loader', + 'css-loader' + ] + } + ] + } }; css-loader ⽤用于加载 .css ⽂文件,并且转换成 commonjs 对象 style-loader 将样式通过