2021-05-08
如何支持 IE1234567891011.browserslistrc[production] # 正式环境> 1% # 支持全世界大于1%的浏览器ie 9[modern] # 开发环境last 1 chrome versionlast 1 firefox version[ssr]node 12
用 babel-loader 打包 JS
其实 web...
Read More
2021-05-06
从上文提炼出 webpack 的一些主要流程
init => run(前两个一般不用) => compile(编译开始的时候) => compilation(准备编译的整个过程) => make(开始编译) => afterCompile(编译结束) => se...
Read More
2021-04-22
1. HTTP/2 的帧与流等概念
HTTP/2 是基于二进制帧(Frame),他将一个TCP连接分为若干个流(Stream),每个流中可以传输若干消息(Message),每个消息由若干最小的二进制帧(Frame)组成。
科普:什么是二进制?如果一个二进制人类看得懂,那他就是字符串,否则就是二进制
1234567---------...
Read More
2021-04-22
webpack@5.10.1webpack-cli@4.2.0阅...
Read More
2021-04-18
文档动机章节精读《Vue3.0 Function API》Vue3 究竟好在哪里?
Vue2 的代码模式下存在的几个问题。
随着功能的增长,复杂组件的代码变得越来越难以维护。 尤其发生你去新接手别人的代码时。 根本原因是 Vue 的现有 API 通过「选项」组织代码,但是在大部分情况下,通过逻辑考虑来组织代码更有意义。
缺少一种比较「干净」的在多个组件之间...
Read More
2021-04-14
基础:vue 是双向绑定,MVVMreact 是单项数据流 ui = f(data)
进阶:vue 早就不强调 MVVM,主要强调数据响应式(核心),也早就没有了双向绑定,全篇文档就只有 v-model 出现了这个词。react 核心的函数式,(无副作用,引用透明,纯函数,数据不可变)这些词 vue 从来不会提到,绝对不会说,hook 是怎么实现在...
Read More
2021-04-13
123456789101112131415161718import Dialog from './Dialog.vue'import { createApp, h } from 'vue'export const openDialog = options => { const ...
Read More
2021-03-30
全部折叠代码以后,我们发现前两步也是获取 options,验证 options
直接看最后一行,是一个 callback,因为 css-loader 是异步的,
我们主要看 moduleCode,点击进入
基本架构和之前差不多,也是得到 code,然后 return 出去
除此之外还有很多的代码都是在做兼容和加载另外的插件
Read More
2021-03-30
raw-loader
webpack 提供 loader-utils 和 schema-utils 作为辅助工具
webpack 通过 this 来传递上下文
getOptions(this) 可以获取 options
validate 可以验证 options 是否合法
JSON 的 2028 和 2029 问题
css-loader
无关代...
Read More
2021-03-24
这个最简单的 loader 就是加载任意文件,但是不做任何处理,直接导出
所有代码就这么几行
获取选项(第 7 行)
验证选项(第 9 行,这两步像是 webpack 的固定流程)
然后开始转换代码(第 14 行)(这里之所以使用 replace 是因为 JSON 的 bug,因为使用了 JSON.stringify 来加引号造成的,他不仅能加引号,还会把...
Read More