Webpack 知识体系简单总结 | 青训营笔记
Webpack 介绍一个前端项目是由 CSS 样式文件、图片文件、JS 文件、Vue 文件、TS 文件、JSX 文件等部分组成。我们可以手动管理这些资源:
如果资源文件过多,手工操作流程繁琐。
当文件之间有依赖关系时,必须严格按依赖顺序书写。
开发与生产环境需要一致,难以接入 JS 和 TS 的新特性。
比较难接入 Less、Sass 等。
JS、图片、CSS 资源管理模型不一致。
2009年诞生的 Node.js 和2010年诞生的 npm 将前端项目带入了工程化,而 Node.js 的 CommonJS 模块化规范不兼容浏览器。所以相继出现了一些打包工具,比如 Browserify、Gulp、RequireJS、Rollup、Webpack 等。
Webpack 本质上是一种前端资源编译、打包工具。
多份资源文件打包成一个 Bundle,减少 http 请求数
支持 Babel、Eslint、TS、CoffeScript、Less、Sass
支持模块化处理 CSS、图片等资源文件
统一图片、CSS、字体等其它资源的处理模型
支持 HMR + 开发服务器
支持持续监听、持续构建 ...
TypeScript 编译选项、声明文件 | 青训营笔记
TypeScript 介绍
TypeScript 是 JavaScript 的超集,提供了 JavaScript 的所有功能,并提供了可选的静态类型、Mixin、类、接口和泛型等特性。
TypeScript 的目标是通过其类型系统帮助及早发现错误并提高 JavaScript 开发效率。
通过 TypeScript 编译器或 Babel 转码器转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。
任何现有的 JavaScript 程序都可以运行在 TypeScript 环境中,并只对其中的 TypeScript 代码进行编译。
在完整保留 JavaScript 运行时行为的基础上,通过引入静态类型定义来提高代码的可维护性,减少可能出现的 bug。
永远不会改变 JavaScript 代码的运行时行为,例如数字除以零等于 Infinity。这意味着,如果将代码从 JavaScript 迁移到 TypeScript ,即使 TypeScript 认为代码有类型错误,也可以保证以相同的方式运行。
对 JavaScript 类型进行了扩展,增加了例如 any、unknown、n ...
TypeScript 命名空间、模块、声明合并 | 青训营笔记
TypeScript 介绍
TypeScript 是 JavaScript 的超集,提供了 JavaScript 的所有功能,并提供了可选的静态类型、Mixin、类、接口和泛型等特性。
TypeScript 的目标是通过其类型系统帮助及早发现错误并提高 JavaScript 开发效率。
通过 TypeScript 编译器或 Babel 转码器转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。
任何现有的 JavaScript 程序都可以运行在 TypeScript 环境中,并只对其中的 TypeScript 代码进行编译。
在完整保留 JavaScript 运行时行为的基础上,通过引入静态类型定义来提高代码的可维护性,减少可能出现的 bug。
永远不会改变 JavaScript 代码的运行时行为,例如数字除以零等于 Infinity。这意味着,如果将代码从 JavaScript 迁移到 TypeScript ,即使 TypeScript 认为代码有类型错误,也可以保证以相同的方式运行。
对 JavaScript 类型进行了扩展,增加了例如 any、unknown、n ...
TypeScript 工具类型、装饰器、混入(Mixins) | 青训营笔记
TypeScript 介绍
TypeScript 是 JavaScript 的超集,提供了 JavaScript 的所有功能,并提供了可选的静态类型、Mixin、类、接口和泛型等特性。
TypeScript 的目标是通过其类型系统帮助及早发现错误并提高 JavaScript 开发效率。
通过 TypeScript 编译器或 Babel 转码器转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。
任何现有的 JavaScript 程序都可以运行在 TypeScript 环境中,并只对其中的 TypeScript 代码进行编译。
在完整保留 JavaScript 运行时行为的基础上,通过引入静态类型定义来提高代码的可维护性,减少可能出现的 bug。
永远不会改变 JavaScript 代码的运行时行为,例如数字除以零等于 Infinity。这意味着,如果将代码从 JavaScript 迁移到 TypeScript ,即使 TypeScript 认为代码有类型错误,也可以保证以相同的方式运行。
对 JavaScript 类型进行了扩展,增加了例如 any、unknown、n ...
TypeScript 索引类型、映射类型、条件类型 | 青训营笔记
TypeScript 介绍
TypeScript 是 JavaScript 的超集,提供了 JavaScript 的所有功能,并提供了可选的静态类型、Mixin、类、接口和泛型等特性。
TypeScript 的目标是通过其类型系统帮助及早发现错误并提高 JavaScript 开发效率。
通过 TypeScript 编译器或 Babel 转码器转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。
任何现有的 JavaScript 程序都可以运行在 TypeScript 环境中,并只对其中的 TypeScript 代码进行编译。
在完整保留 JavaScript 运行时行为的基础上,通过引入静态类型定义来提高代码的可维护性,减少可能出现的 bug。
永远不会改变 JavaScript 代码的运行时行为,例如数字除以零等于 Infinity。这意味着,如果将代码从 JavaScript 迁移到 TypeScript ,即使 TypeScript 认为代码有类型错误,也可以保证以相同的方式运行。
对 JavaScript 类型进行了扩展,增加了例如 any、unknown、n ...
TypeScript 泛型、类型转换、类型守卫 | 青训营笔记
TypeScript 介绍
TypeScript 是 JavaScript 的超集,提供了 JavaScript 的所有功能,并提供了可选的静态类型、Mixin、类、接口和泛型等特性。
TypeScript 的目标是通过其类型系统帮助及早发现错误并提高 JavaScript 开发效率。
通过 TypeScript 编译器或 Babel 转码器转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。
任何现有的 JavaScript 程序都可以运行在 TypeScript 环境中,并只对其中的 TypeScript 代码进行编译。
在完整保留 JavaScript 运行时行为的基础上,通过引入静态类型定义来提高代码的可维护性,减少可能出现的 bug。
永远不会改变 JavaScript 代码的运行时行为,例如数字除以零等于 Infinity。这意味着,如果将代码从 JavaScript 迁移到 TypeScript ,即使 TypeScript 认为代码有类型错误,也可以保证以相同的方式运行。
对 JavaScript 类型进行了扩展,增加了例如 any、unknown、n ...
新必应无法加入等待队列且一直出错的解决方案
new bing 的申请,没啥好说的,简单直接,跟 Notion AI 一样,最好全局一下,进入网址www.bing.com/new,加入等待,等通知邮件。
但是有大部分同学,应该跟我一样,自己用了多年的主账号,不管怎么样,按照网上说的各种法子尝试都是不会成功。
如下图所示:点击“加入等待列表”但一直提示“出错了,请重试”,
无奈之下,换了一个新账号尝试,如果你是一个注册的新账号,new bing一定会成功加入 waitling list。
作为微软 office 365 多年的订阅用户,微软全系列产品 msdn订阅 的正版用户。在关键时候P 用没有。在 msdn 社区反馈之后,接到专家的一个电话,告知解决方案。
之前用过的解决方案:
什么改 dns 都是瞎扯。
有人说可能跟Microsoft rewards 有关系,我也清理了全部rewards,仍然出现同样错误。在手机上面尝试加入等待列表,错误一样。
真正的解决方案:最终跟专家确认,new bing 的体验确实受 Microsoft rewards 影响,但是清理全部 rewards 没什么用,可以通过:https://re ...
TypeScript 高级数据类型 | 青训营笔记
TypeScript 介绍
TypeScript 是 JavaScript 的超集,提供了 JavaScript 的所有功能,并提供了可选的静态类型、Mixin、类、接口和泛型等特性。
TypeScript 的目标是通过其类型系统帮助及早发现错误并提高 JavaScript 开发效率。
通过 TypeScript 编译器或 Babel 转码器转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。
任何现有的 JavaScript 程序都可以运行在 TypeScript 环境中,并只对其中的 TypeScript 代码进行编译。
在完整保留 JavaScript 运行时行为的基础上,通过引入静态类型定义来提高代码的可维护性,减少可能出现的 bug。
永远不会改变 JavaScript 代码的运行时行为,例如数字除以零等于 Infinity。这意味着,如果将代码从 JavaScript 迁移到 TypeScript ,即使 TypeScript 认为代码有类型错误,也可以保证以相同的方式运行。
对 JavaScript 类型进行了扩展,增加了例如 any、unknown、n ...
TypeScript 基本数据类型 | 青训营笔记
TypeScript 介绍
TypeScript 是 JavaScript 的超集,提供了 JavaScript 的所有功能,并提供了可选的静态类型、Mixin、类、接口和泛型等特性。
TypeScript 的目标是通过其类型系统帮助及早发现错误并提高 JavaScript 开发效率。
通过 TypeScript 编译器或 Babel 转码器转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。
任何现有的 JavaScript 程序都可以运行在 TypeScript 环境中,并只对其中的 TypeScript 代码进行编译。
在完整保留 JavaScript 运行时行为的基础上,通过引入静态类型定义来提高代码的可维护性,减少可能出现的 bug。
永远不会改变 JavaScript 代码的运行时行为,例如数字除以零等于 Infinity。这意味着,如果将代码从 JavaScript 迁移到 TypeScript ,即使 TypeScript 认为代码有类型错误,也可以保证以相同的方式运行。
对 JavaScript 类型进行了扩展,增加了例如 any、unknown、n ...
HTTP 知识总结 | 青训营笔记
介绍HTTP(超文本传输协议,英语:HyperText Transfer Protocol)是一个用于传输超媒体文档(例如 HTML)的应用层协议,是万维网的数据通信的基础。
版本
1999年6月公布的 RFC 2616,定义了 HTTP 协议中现今广泛使用的一个版本 HTTP 1.1。
2015年5月以 RFC 7540 正式发布 HTTP/2 标准,取代 HTTP 1.1 成为 HTTP 的实现标准。
2022年6月6日标准化为 RFC9114 的最新版本 HTTP/3,抛弃使用 TCP,通过 UDP 上使用 QUIC 来承载应用层数据。
通信过程
使用 TCP 协议,通过网页浏览器、网络爬虫或者其它的工具,客户端(user agent,用户代理程序)发起一个 HTTP 请求到服务器上指定端口(默认端口为80)。
应答的服务器(origin server)上存储着一些资源,比如 HTML 文件和图像,服务器在那个端口监听客户端的请求。在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器、网关或者隧道(tunnel)。
一旦收到请求,服务器会向客户端返 ...