小程序高性能数据同步

2020-01-22
阅读 7 分钟
2.4k
小程序中,一个重要的性能环节就是同步 worker 进程数据到渲染进程。对于使用响应式来管理状态的情况,搜索社区实现,可以发现很多只是粗暴地递归遍历一下复杂对象,从而监听到数据变化。

TypeScript 进阶:类型安全的依赖注入

2019-05-23
阅读 7 分钟
5.2k
在我作为专业 TypeScript 讲师的日子里,开发者们经常问我:“为什么我们需要这么复杂的高级类型系统?”他们在实际项目中并没有感受到对常量类型、交叉类型、条件类型和元组式的剩余参数的需求。这是一个很好的问题,如果没有一个合适的场景,是很难回答的。

使用 vue-cli 3 快速创建 Vue 项目

2018-04-27
阅读 3 分钟
71.5k
为了便于 Vue 项目的管理, Vue 团队官方开发了 vue-cli 工具。 本文将带您使用 vue-cli 快速创建一个 Vue 项目。 本地安装 vue-cli 使用 npm 全局安装 vue-cli : {代码...} 创建项目 执行: {代码...} 会弹出如下界面: 此处有两个选择: default (babel, eslint) 默认套餐,提供 babel 和 eslint 支持。 Manually sel...

理清 Vue 中的钩子函数

2018-04-25
阅读 7 分钟
7.2k
在开发一般的业务来说,不需要知道 Vue 中钩子函数过多的执行细节。但是如果你想写出足够稳健的代码,或者想开发一些通用库,那么就少不了要深入了解各种钩子的执行时机了。

Vue 模板书写注意点

2018-03-16
阅读 5 分钟
2.1k
关于 Vue 模板的语法,官方文档做了比较详细的介绍,建议读者先阅读完官网文档再继续阅读本文后续内容。 下面介绍一些比较特殊的或者说需要注意的点。 v-bind 绑定对象 通过 v-bind 可以给组件传递 prop 数据,比如有组件 A : {代码...} 那么给该组件传递 name 和 age 属性就可以写成这样: {代码...} 注意,在传递 pro...

webpack 配置中的路径

2017-11-29
阅读 4 分钟
18.9k
那么每次引入 BaseModel 的时候,很可能都会面临着写很长一堆 ../../../../ 的问题,而且如果没有编辑器的智能提示,很容易少写(或者多写)一层 ../ 。

当 webpack 遇上 symlink

2017-09-10
阅读 3 分钟
17.2k
在开发若干个有相互依赖关系的库的时候,通常都会采用 symlink 的方式互相引用,比较典型的一种场景就是使用 lerna 开发多个 package 。

URL 的编码

2017-08-29
阅读 2 分钟
3.5k
什么是 URL URL 就是用来定位资源的字符串。 怎么样的字符串是合法的 URL 满足如下条件的字符串都是合法的 URL: 字符串是一个合法的 URI ( Uniform Resource Identifier ) 字符串。其中,构成 URI 字符串的字符集合必须是 ASCII 码的子集。 字符串是一个合法的没有查询串的 IRI ( Internationalized Resource Identifi...

如何管理 vue 项目中的数据?

2017-07-20
阅读 6 分钟
5.6k
如何管理 vue 项目的数据?这个问题似乎早已经有答案了,无非就是使用 vuex ,全局 store,整个应用维护一个超大的 Object,界面的显示情况随着超大 Object 的变化而变化。

ES6 中的模式匹配和默认参数

2017-01-06
阅读 3 分钟
4k
ES6 中,引入了其他很多语言都具备的模式匹配和默认参数语法糖,使得代码简洁了不少。但是使用的时候还是有些细节需要注意。 模式匹配原理 模式匹配的种类 具体来说,有三种类型的模式匹配: 直接赋值 {代码...} 对象模式 {代码...} 数组模式 {代码...} 模式匹配的过程 直接赋值:x ← value(包括 undefined 和 null) {...

Redux 使用初探

2016-12-26
阅读 5 分钟
3.1k
Redux 提供的主要功能:全局数据管理,包括数据的更新、存储、数据变化通知。 Redux 的 store 中存放了当前应用的状态,可以根据这个状态完整恢复出当前应用的界面,因此在使用 Redux 的项目中,可以实现一个比较炫酷的功能:依据状态的前进、后退。

HTTP请求重发

2016-07-06
阅读 2 分钟
14k
HTTP 协议中,从语义上讲, GET 请求一般是获取服务器端的资源,不会对服务器数据造成副作用,可简单理解为一种“读”操作;而 POST 请求多用于更改(增、删、改)服务器上的资源,会产生一定的副作用。

karma 入门

2016-07-01
阅读 6 分钟
7.6k
karma 是一个提升测试效率的工具,帮助开发者更好更快速地在多种环境下执行测试代码,拿到测试结果。在运行的时候,它会自动启动配置好的浏览器,同时也会启动一个 node 服务器,然后在启动好的浏览器中执行测试代码,并将测试代码执行结果传回给 node 服务器,然后 node 服务器在打印出收到的执行结果。

WEB 中的文件下载

2016-06-21
阅读 4 分钟
14.3k
在 WEB 开发中,我们会期望用户在点击某个链接的时候,下载一个文件(不管这个文件能不能被浏览器解析,都要下载)。以前接触过一种方式,就是在响应 header 中设置 force-download :