Express路由与中间件原理(中间件篇)

Express 中间件Express 路由与中间件具体用法参考官网 API Express 路由原理见 Express路由与中间件原理(路由篇) Express 中间件通常用来一些公用的逻辑,并可以将处理的结果挂载在 req、res 上,以供后面的中间件函数,或路由函数使用。因此通常情况下中间件函数会放在路由的前面 1234567891011121314151617181920212223...

Continue Reading →

golang 学习笔记(一)——语法篇

golang 应⽤程序⼊⼝ 必须是 main 包:package main 必须是 main ⽅法:func main() ⽂件名不⼀定是 main.go 退出返回值与其他主要编程语⾔的差异 Go 中 main 函数不⽀持任何返回值 通过 os.Exit 来返回状态 获取命令⾏参数与其他主要编程语⾔的差异 main 函数不⽀持传⼊参数func main(arg []string) 在...

Continue Reading →

单页面(SPA)路由实现原理

什么是单页面应用 ?单页面应用(SPA)即single page application,目前在前后端分离的项目中,一般都是采用 SPA 的模式,整个应用只有一个 html 页面。后端接口只负责提供数据,而页面路由则需要前端自己完成。 单页面应用的优势1. 减少 http 请求数,降低服务器压力单页面应用在切换页面时,路由由前端路由系统完成,不需要向服务器发送请求,服务器也不用再返回一个 h...

Continue Reading →

编写一个 webpack Loader

什么是 webpack Loaderwebpack Loader 是一个符合 commonjs 规范的模块,这个模块导出一个函数,它的主要作用是对源码进行转换,webpack 在调用 Loader时,会将源代码作为参数传递给这个Loader,然后该loader会对源码进行转换,并且返回转换后的内容。 一个最简单的 Loader 的源码如下:12345module.exports = fun...

Continue Reading →

编写一个 Babel 插件

Babel转译流程Babel 对源码进行转译时,主要有三个步骤 首先通过Babylon 将源码转化成 AST 然后再通过babel-traverse遍历 AST,找到需要更改的 AST 节点,对其进行修改 根据修改后的 AST,通过babel-generator将修改后的 AST重新生成源码Babel插件主要是处理第二步。 BabylonBabylon 是 Babel 的解析器,主要负责...

Continue Reading →

Babel 核心模块介绍

Babel 介绍Babel 是一个通用的多用途 JavaScript 编译器。通过 Babel 你可以使用(并创建)下一代的 JavaScript,以及下一代的 JavaScript 工具。Babel 把用最新标准编写的 JavaScript 代码向下编译成可以在今天随处可用的版本。 这一过程叫做“源码到源码”编译, 也被称为转换编译(transpiling,是一个自造合成词,即转换+编译。...

Continue Reading →

抽象语法树AST介绍

为什么要了解AST如果你想了解 js 编译执行的原理,那么你就得了解 AST,目前前端常用的一些插件或者工具,比如说javascript转译、代码压缩、css预处理器、elint、pretiier等功能的实现,都是建立在 AST 的基础之上。 JavaScript 编译执行流程js执行的第一步是读取 js 文件中的字符流,然后通过词法分析生成token,之后再通过语法分析生成 AST(Abs...

Continue Reading →

JavaScript垃圾回收机制与内存泄漏

JavaScript 垃圾收集 程序的运行需要分配内存,内存资源是有限的,当程序运行结束后,就应该回收其内存资源。JavaScript使用自动内存管理,也称为垃圾回收机制(garbage collector) 自动垃圾回收的优点是可以简化开发,不用时刻惦记着回收不再使用的变量,降低内存泄漏的可能性;缺点是无法完全的掌握内存的分配以及回收的具体过程。 V8引擎垃圾回收机制自动垃圾回收算法的演...

Continue Reading →

© 2019 GOYTH All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero