Gulp 入门指南
前端开发工作中有很多“重复工作”,比如压缩CSS/JS文件。而这些工作都是有规律的。找到这 些规律,并编写 gulp 配置代码,让 gulp 自动执行这些“重复工作”。 将规律转换为 gulp 代码 现有目录结构如下: └── js/ └── a.js 规律 1. 找到 js/目录下的所有 .js 文件 2. 压缩这些 js 文件 3. 将压缩后的代码另存在 dist/js/ 目录下 编写 2. 压缩 .pipe(uglify()) // 3. 另存 .pipe(gulp.dest('dist/js')); }); 代码执行结果 代码执行后文件结构 └── js/ │ └── a.js └── dist/ └── js/ └── a.js gulp 入门指南 - 1 - 本文档使用 看云 构建 a.js 压缩前 node (CommonJS)中获取模块的语法。 在 gulp 中你只需要理解 require() 可以获取模块。 三、获取 三、获取 gulp-uglify gulp-uglify 组件 组件 // 获取 uglify 模块(用于压缩 JS) var uglify = require('gulp-uglify') 四、创建压缩任务 四、创建压缩任务 gulp 入门指南 - 50 码力 | 36 页 | 275.87 KB | 1 年前3《玩转webpack》 第三章 基础篇 Webpack 进阶用法
}; 使⽤用 eslint-loader,构建时检查 JS 规范 webpack 打包库和组件 webpack 除了了可以⽤用来打包应⽤用,也可以⽤用来打包 js 库 实现⼀一个⼤大整数加法库的打包 · 需要打包压缩版和⾮非压缩版本 ·⽀支持 AMD/CJS/ESM 模块引⼊入 库的⽬目录结构和打包要求 + |- /dist + |- large-number.js + renderToString ⽅方法将 React 组件渲染成字符串串 ·服务端路路由返回对应的模板 ·打包出针对服务端的组件 webpack ssr 打包存在的问题 浏览器器的全局变量量 (Node.js 中没有 document, window) 样式问题 (Node.js ⽆无法解析 css) ·组件适配:将不不兼容的组件根据打包环境进⾏行行适配 ·请求适配:将 fetch 或者 ·⽅方案⼆二:将 style-loader 替换成 isomorphic-style-loader 如何解决样式不不显示的问题? 使⽤用打包出来的浏览器器端 html 为模板 设置占位符,动态插⼊入组件 ⾸首屏数据如何处理理? 服务端获取数据 替换占位符 当前构建时的⽇日志显示 展示⼀一⼤大堆⽇日志,很多并不不需要开发者关注 统计信息 stats 如何优化命令⾏行行的构建⽇日志 module0 码力 | 69 页 | 4.33 MB | 1 年前3《玩转webpack》第八章 实战篇: React 全家桶 和 webpack 开发商城项巨
src/actions/ 放置所有的actions、src/reducers 放置所有的 reducers · 使⽤用 Provider 传递 store Store 通过 Provider 传递给容器器组件 创建 actions、reducers、store · rootReducer src/reducers/rootReducer.js 将所有的 reducers 进⾏行行 Combine 的同时并⾏行行的加载⻚页⾯面数据 功能开发要点 · 浏览器器端: · 服务端: · MVC 开发⽅方式,数据库基于 Sequelize · Rest API ⻛风格 ·采⽤用 JWT 进⾏行行鉴权 ·组件化,组件颗粒度尽可能⼩小 ·直接复⽤用 builder-webpack-geektime 的构建配置,⽆无需关注构建脚本 源码和演示地址 · 源码: https://github.com/cpse0 码力 | 25 页 | 5.67 MB | 1 年前3《玩转webpack》第七章 原理篇: 编写 Loader 和插件
打包原理 06 原理篇:编写 Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项目 08 基础篇:webpack 进阶用法 03 一个最简单的 loader 代码结构 module.exports = function(source) { return source; }; 定义:loader 只是一个导出为函数的 JavaScript 模块 多 result.coordinates; result.properties; }); 插件的运行环境 插件没有像 loader 那样的独立运行环境 只能在 webpack 里面运行 插件的基本结构 基本结构: 插件使用: plugins: [ new MyPlugin() ] class MyPlugin { apply(compiler) { compiler.hooks.done0 码力 | 29 页 | 4.37 MB | 1 年前3《玩转webpack》 第一章 基础篇: webpack 与构建发展简史
玩转 webpack 腾讯IVWEB 程柳柳锋 扫码试看/订阅 《玩转 webpack》 课程介绍 框架 DSL 解析 Web 应⽤用多元化 组件化 内容综述 基础篇 P1-P3 进阶篇 P4-P5 原理理篇 P6-P7 实战篇 P8 webpack 的基本概念和⽇日常 开发的实⽤用技巧 以⼯工程化的⽅方式组织 webpack 构 建配置,和 webpack 打包优化 详细剖析0 码力 | 17 页 | 690.93 KB | 1 年前3《玩转webpack》第六章 原理篇: 通过源码掌握 webpack 打包原理
AST 基础知识 抽象语法树(abstract syntax tree 或者缩写为 AST),或者语法树(syntax tree),是 源代码的抽象语法结构的树状表现形式,这里特指编程语言的源代码。树上的每个节点都 表示源代码中的一种结构。 在线demo: https://esprima.org/demo/parse.html 复习一下 webpack 的模块机制 · 打包出来的是一个 IIFE0 码力 | 39 页 | 3.66 MB | 1 年前3《玩转webpack》第五章 进阶篇: webpack 构建速度和体积优化策略
每个插件和loader的耗时情况 webpack-bundle-analyzer 分析体积 代码示例 构建完成后会在 8888 端口展示大小 可以分析哪些问题? 依赖的第三方模块文件大小 业务里面的组件代码大小 使用高版本的 webpack 和 Node.js 构建时间降低了 60%-98%! 使用 webpack4:优化原因 V8 带来的优化(for of 替代 forEach、Map 和0 码力 | 36 页 | 8.13 MB | 1 年前3《玩转webpack》 第四章 进阶篇: 编写可维护的 webpack 构建配置
a: [ 1, 2 ], b: 10, c: 20, d: 421 } 合并配置:module.exports = merge(baseConfig, devConfig); 功能模块设计 目录结构设计 + |- /test + |- /lib + |- webpack.dev.js + |- webpack.prod.js + |- webpack.ssr.js +0 码力 | 30 页 | 5.38 MB | 1 年前3
共 8 条
- 1