 TypeScript 4.0 使用手册
类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 - 2 - 本文档使用 书栈网 · BookStack.CN 构建 实用工具类型 如何书写声明文件 介绍 字面量类型 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 目录 README - 8 - 本文档使用 书栈网 · BookStack BookStack.CN 构建 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 库结构 举例 最佳实践 深入 模板 发布 使用 工程配置0 码力 | 683 页 | 6.27 MB | 1 年前3 TypeScript 4.0 使用手册
类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 - 2 - 本文档使用 书栈网 · BookStack.CN 构建 实用工具类型 如何书写声明文件 介绍 字面量类型 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 目录 README - 8 - 本文档使用 书栈网 · BookStack BookStack.CN 构建 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 库结构 举例 最佳实践 深入 模板 发布 使用 工程配置0 码力 | 683 页 | 6.27 MB | 1 年前3
 TypeScript Handbook(中文版)
枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 规范 举例 深入 发布 使用 工程配置 tsconfig.json NPM包的类型 TypeScript 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 TypeScript Handbook(中文版) 5 介绍 规范 举例 深入 发布 使用 工程配置 tsconfig 和Uglify一样,Babelify也会混淆代 码,因此我们也需要vinyl-buffer和gulp-sourcemaps。 默认情况下Babelify只会处理 扩展名为 .js , .es , .es6 和 .jsx 的文件,因此我们需要添加 .ts 扩展名 到Babelify选项。 npm install --save-dev babelify babel-preset-es2015 vinyl-buffer0 码力 | 557 页 | 7.48 MB | 1 年前3 TypeScript Handbook(中文版)
枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 规范 举例 深入 发布 使用 工程配置 tsconfig.json NPM包的类型 TypeScript 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 TypeScript Handbook(中文版) 5 介绍 规范 举例 深入 发布 使用 工程配置 tsconfig 和Uglify一样,Babelify也会混淆代 码,因此我们也需要vinyl-buffer和gulp-sourcemaps。 默认情况下Babelify只会处理 扩展名为 .js , .es , .es6 和 .jsx 的文件,因此我们需要添加 .ts 扩展名 到Babelify选项。 npm install --save-dev babelify babel-preset-es2015 vinyl-buffer0 码力 | 557 页 | 7.48 MB | 1 年前3
 探索Vue的⾼高级应⽤用遇到的问题及解决⽅方案 模板引擎(JSX template) ⽣生命周期 Ref引⽤用 模板 单⽂文件 template JSX loader createElement cloneElement、Vnode 属性、⾼高阶组件 JSX https://github.com/vuejs/babel-plugin-transform-vue-jsx https://zhuanlan0 码力 | 26 页 | 1.38 MB | 1 年前3 探索Vue的⾼高级应⽤用遇到的问题及解决⽅方案 模板引擎(JSX template) ⽣生命周期 Ref引⽤用 模板 单⽂文件 template JSX loader createElement cloneElement、Vnode 属性、⾼高阶组件 JSX https://github.com/vuejs/babel-plugin-transform-vue-jsx https://zhuanlan0 码力 | 26 页 | 1.38 MB | 1 年前3
 前端开发者指南(2017)NPM 受到来自 Yarn 的挑战。 下一代类 React 方案的演化通过 Preact、Deku、Rax 和 inferno 的形式展现,并伴随着 少量 API 改动。 此前大多数人学习接受 JSX,而如今他们已经享受其中。 一种可用的 CSS 模块模式(CSS encapsulation)已经实现并投入使用,因此对许多人 来说,CSS in JS 成为一种切实可行的解决方案。 越来越多人着手进行 JavaScript 2015 (即 ES6) 有一个原生的模板机制叫做"模板字符串"。另外,最近跟模板有关 的热词还有 JSX、"模板元素"和 HTML strings。 建议: 如果您对模板还不熟悉,首先搞定 JavaScript 的"模板字符串"。 如果项目与 React 相关,您 可以使用JSX。 再往后您可以学习 nunjucks。 学习 JS 模板 68 学习静态网页生成器 静态网站生成 Nunjuncks 模版和动态数据绑定: Deku jquerymy.js ractive.js react.js riot Rivets.js vue.js 用于虚拟 DOM 的模版: JSX t7 模版/数据绑定工具 130 UI组件 & 组件包 在 Web 平台的: Bootstrap 3 or Bootstrap 4 Kendo UI for jQuery [free0 码力 | 164 页 | 6.43 MB | 1 年前3 前端开发者指南(2017)NPM 受到来自 Yarn 的挑战。 下一代类 React 方案的演化通过 Preact、Deku、Rax 和 inferno 的形式展现,并伴随着 少量 API 改动。 此前大多数人学习接受 JSX,而如今他们已经享受其中。 一种可用的 CSS 模块模式(CSS encapsulation)已经实现并投入使用,因此对许多人 来说,CSS in JS 成为一种切实可行的解决方案。 越来越多人着手进行 JavaScript 2015 (即 ES6) 有一个原生的模板机制叫做"模板字符串"。另外,最近跟模板有关 的热词还有 JSX、"模板元素"和 HTML strings。 建议: 如果您对模板还不熟悉,首先搞定 JavaScript 的"模板字符串"。 如果项目与 React 相关,您 可以使用JSX。 再往后您可以学习 nunjucks。 学习 JS 模板 68 学习静态网页生成器 静态网站生成 Nunjuncks 模版和动态数据绑定: Deku jquerymy.js ractive.js react.js riot Rivets.js vue.js 用于虚拟 DOM 的模版: JSX t7 模版/数据绑定工具 130 UI组件 & 组件包 在 Web 平台的: Bootstrap 3 or Bootstrap 4 Kendo UI for jQuery [free0 码力 | 164 页 | 6.43 MB | 1 年前3
 全栈⼯程师之路 Node.jsPC 端加壳 • 组件化:统⼀一⽤用法 组件化:统⼀一⽤用法 React 的出现影响最⼤大的是 JSX 的出现,解决了⻓长久以来组件化的问题: • 我们反复的折腾 JavaScript ,依然⽆无法搞定 • 我们尝试 OO,⽐比如 extjs • 我们最终还是找个中间格式 JSX 单纯的 React 只是 view 层⾯面的,还不⾜足以应⽤用,于是⼜又有 Redux。核⼼心概念:0 码力 | 50 页 | 1.35 MB | 1 年前3 全栈⼯程师之路 Node.jsPC 端加壳 • 组件化:统⼀一⽤用法 组件化:统⼀一⽤用法 React 的出现影响最⼤大的是 JSX 的出现,解决了⻓长久以来组件化的问题: • 我们反复的折腾 JavaScript ,依然⽆无法搞定 • 我们尝试 OO,⽐比如 extjs • 我们最终还是找个中间格式 JSX 单纯的 React 只是 view 层⾯面的,还不⾜足以应⽤用,于是⼜又有 Redux。核⼼心概念:0 码力 | 50 页 | 1.35 MB | 1 年前3
 2019-2021 美团技术年货 前端篇小程序采用的是 WXML(WeiXin Markup Language)标签语言,也提供了 一套完整的基础标签,但是和 Webview 有着较大的差异。 ● React Native 则是采用的 JSX(JS-XML)语法,虽然和 XML 很接近,但是 又有着很多的不同点,同时它也有自己的一套基础组件,和 Webview、小程 序又截然不同。 API 差异 ● 接口差异:在不同端中都提 制问题: ● 不能在包含 JSX 元素的 map 循环中使用 if 表达式 ● 不能使用 Array#map 之外的方法操作 JSX 数组 ● 不能在 JSX 参数中使用匿名函数 ● 暂不支持在 render() 之外的方法定义 JSX ● 不允许在 JSX 参数 (props) 中传入 JSX 元素 ● 不能在 JSX 参数中使用对象展开符 同时也支持大部分 静态编译合并树节点原理图 -1 这个方案有两个动作,分别是静态编译和合并树节点,静态编译就将 RN 代码的转 换成合并模板,如上图序号 2 代码所示,合并模板的名称为 “b1”,内容就是一段与 RN JSX 代码对应的 WXML 结构片段。而合并节点是将已经静态编译的节点进行合 并,如上图序号 2 至序号 3 流程所示,原本五个节点被合并到顶层的 View 节点,这 个 View 节点称为合并节点0 码力 | 738 页 | 50.29 MB | 1 年前3 2019-2021 美团技术年货 前端篇小程序采用的是 WXML(WeiXin Markup Language)标签语言,也提供了 一套完整的基础标签,但是和 Webview 有着较大的差异。 ● React Native 则是采用的 JSX(JS-XML)语法,虽然和 XML 很接近,但是 又有着很多的不同点,同时它也有自己的一套基础组件,和 Webview、小程 序又截然不同。 API 差异 ● 接口差异:在不同端中都提 制问题: ● 不能在包含 JSX 元素的 map 循环中使用 if 表达式 ● 不能使用 Array#map 之外的方法操作 JSX 数组 ● 不能在 JSX 参数中使用匿名函数 ● 暂不支持在 render() 之外的方法定义 JSX ● 不允许在 JSX 参数 (props) 中传入 JSX 元素 ● 不能在 JSX 参数中使用对象展开符 同时也支持大部分 静态编译合并树节点原理图 -1 这个方案有两个动作,分别是静态编译和合并树节点,静态编译就将 RN 代码的转 换成合并模板,如上图序号 2 代码所示,合并模板的名称为 “b1”,内容就是一段与 RN JSX 代码对应的 WXML 结构片段。而合并节点是将已经静态编译的节点进行合 并,如上图序号 2 至序号 3 流程所示,原本五个节点被合并到顶层的 View 节点,这 个 View 节点称为合并节点0 码力 | 738 页 | 50.29 MB | 1 年前3
 《玩转webpack》 第一章 基础篇: webpack 与构建发展简史Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项⽬目 08 基础篇:webpack 进阶⽤用法 03 为什什么需要构建⼯工具? 转换 ES6 语法 转换 JSX 压缩混淆 ES6 module 主流浏览器器⽀支持情况 图⽚片压缩 CSS 前缀补全/预处理理器器 前端构建演变之路路 ant + YUI Tool grunt gulp fis30 码力 | 17 页 | 690.93 KB | 1 年前3 《玩转webpack》 第一章 基础篇: webpack 与构建发展简史Loader 和插件 07 实战篇:React 全家桶 和 webpack 开发商城项⽬目 08 基础篇:webpack 进阶⽤用法 03 为什什么需要构建⼯工具? 转换 ES6 语法 转换 JSX 压缩混淆 ES6 module 主流浏览器器⽀支持情况 图⽚片压缩 CSS 前缀补全/预处理理器器 前端构建演变之路路 ant + YUI Tool grunt gulp fis30 码力 | 17 页 | 690.93 KB | 1 年前3
 使用React构建Flutter应用channels 调用平台能力 支持 Hot Reload 不支持 Flex Layout 布局 比肩原生的性能 调试工具完善 脱离前端 JS 生态 不支持动态下发 Bundle 不支持类 JSX,可读性差 前端视角里的 Flutter 使用 Flutter 的刚性诉求 具有动态性 可连接前端生态 Dart 生产模式 开发 Develop 部署 Deploy JIT Dart VM0 码力 | 39 页 | 2.13 MB | 1 年前3 使用React构建Flutter应用channels 调用平台能力 支持 Hot Reload 不支持 Flex Layout 布局 比肩原生的性能 调试工具完善 脱离前端 JS 生态 不支持动态下发 Bundle 不支持类 JSX,可读性差 前端视角里的 Flutter 使用 Flutter 的刚性诉求 具有动态性 可连接前端生态 Dart 生产模式 开发 Develop 部署 Deploy JIT Dart VM0 码力 | 39 页 | 2.13 MB | 1 年前3
 《玩转webpack》加餐:webpack5专题“import” 的 query 参数。 如:import ‘/src/style.css?import’ 给 hmr 相关的请求地址添加时间戳,避免缓存。 如:import ‘/src/App.jsx?t=1599124870589’ Vite 打包流程 – 重写模块路径 浏览器不支持 JS 中直接写 import CSS、图片、JSON 等语法。 回顾一下 webpack loader 的处理策略:0 码力 | 40 页 | 12.03 MB | 1 年前3 《玩转webpack》加餐:webpack5专题“import” 的 query 参数。 如:import ‘/src/style.css?import’ 给 hmr 相关的请求地址添加时间戳,避免缓存。 如:import ‘/src/App.jsx?t=1599124870589’ Vite 打包流程 – 重写模块路径 浏览器不支持 JS 中直接写 import CSS、图片、JSON 等语法。 回顾一下 webpack loader 的处理策略:0 码力 | 40 页 | 12.03 MB | 1 年前3
 《玩转webpack》 第二章 基础篇: webpack 基础用法"plugins": [ "@babel/proposal-class-properties" ] } 增加 ES6 的 babel preset 配置 资源解析:解析 React JSX { "presets": [ "@babel/preset-env", + "@babel/preset-react" ], "plugins": [ "@babel/pro0 码力 | 41 页 | 2.52 MB | 1 年前3 《玩转webpack》 第二章 基础篇: webpack 基础用法"plugins": [ "@babel/proposal-class-properties" ] } 增加 ES6 的 babel preset 配置 资源解析:解析 React JSX { "presets": [ "@babel/preset-env", + "@babel/preset-react" ], "plugins": [ "@babel/pro0 码力 | 41 页 | 2.52 MB | 1 年前3
共 15 条
- 1
- 2













