在Typescript中使用第三方库
在 Typescript 中使用第三方库当我们在 TS 项目中直接使用第三方库中变量会报错,
12wx.setNavigationBarTitle({ title: "标题" });// 这里的 wx 会提示:Cannot find name 'wx'.
声明文件这是因为在 ts ts 并不知道这个 wx 是用来干什么的,通常情况下需要我们去定义它的使用方法。
1declare wx:(arguments: object) => any
这些声明通常我们会统一放在一个文件中,这个文件叫做声明文件。
声明文件的命名方式是 xx.d.ts , ts 在编译的时候会默认编译这类文件,使得在所有 ts 文件能使用声明文件中声明的变量、方法。
这样的定义方式显而易见很麻烦,所以有大量 的第三方库来帮我们解决这个问题,这类第三方库一般以 @type/** 这样的方式命名。上面提到的 wx 报错问题就可以用 @types/wechat-miniprogram 来解决。
Type SearchType Search中收录了这些声明文 ...
如何在微信小程序内使用外部字体
通过 font-face 使用外部字体首先通过 css 引入地址,然后在需要使用该字体时使用定义的 font-family 即可。
1234567@font-face { font-family: "kaiti"; src: url("https://spkf-zsxn-prod.s3.cn-north-1.amazonaws.com.cn/pic/livecenter/kaiti.ttf");}.test { font-family: "kaiti";}
这里的 url 要用 CDN 地址,本地地址无效。
通过 wx.loadFontFace 使用外部字体这里需要在 app.js 中将需要使用的字体引入,然后通过 font-family 使用改字体。
12345678wx.loadFontFace({ family: "Bitstream", source: 'url("https://spkf-zsxn-prod.s ...
Taro3升级指南
Taro 3.x 时代Taro 在今年 7 月份正式推出推出 3.0 版本,与 Taro1/2 编译型架构不同,Taro3 是一种解释型架构。可以让开发者获得完整的 React/Vue 等框架的开发体验。
升级之旅由此开始项目版本信息12Taro: 2.1.5 -> 3.0.15React: / -> 17.0.0
项目初始化最初,我按照 Taro 官方提供的迁移指南上的步骤进行升级。但是由于 Taro3 的 babel 配置及 webpack 配置发生改变,有大量的 npm 包缺少或是剩余,项目报错不好排查。所以我决定采从新建项目开始,让 taro init 帮我们解决一些基本的项目配置工作。
首先全局安装 @tarojs/cli , 使用 taro 进行项目初始化。
12npm install -g @tarojs/clitaro init myApp
下面是我的安装选项:
因为之前的项目结构和生成的一致,这里就不对生成的项目结构进行改变,进行下一步:修改 config 配置。
开发配置在上面的目录中 config 内放置的就是有关项目配置的文件,这里 ...
深入学习HTTP协议(2)-HTTP基本概念
身为一个前端,HTTP 对我而言就像是云雾环绕的一座山,看不透也不知从哪开始攀登。深入学习 HTTP 协议系列就是我对罗剑锋老师的《透视 HTTP 协议》所做的总结。希望能对大家的登山之旅有所帮助。
当我们在浏览器地址栏输入网址再按下回车发生了什么?
浏览器发起域名解析获取地址对应的 IP;
浏览器用 TCP 的三次握手与服务器建立连接;
浏览器向服务器发送拼好的报文;
服务器收到报文后处理请求,同样拼好报文再发给浏览器;
浏览器解析报文,渲染输出页面。
域名解析的过程中有多级缓存,浏览器先查看自身缓存,没有再向操作系统缓存要,还没有就检查本机域名解析文件 hosts,最后则会用 DNS 域名解析系统进行。在这个过程中可能会经历 CDN 解析,拿到 CDN 服务器的地址
在达到目标服务器后,通常会经历负载均衡设备,负载均衡设备会访问系统里的缓存服务器,通常有 memory 级缓存 Redis 和 disk 级缓存 Varnish。
如果缓存服务器里没有所要数据,就会把请求转发给应用服务器,例如 Java 的 Tomcat/Netty/Jetty,Python 的 Django,还 ...
记录踩到的坑&知识点-小程序
如果一个页面有 webView 及其它元素,在 webView 加载后会把其他元素覆盖住。只能通过 webView 的 onload 事件触发后,让其他元素显示到界面上。
'wx' is not defined. 报错。这里是 eslint 检测到该变量没有定义提示的错误,可以给 eslint globals 添加配置解决这个问题。
123globals: { wx: true}
深入学习HTTP协议(1)-与HTTP相关概念
身为一个前端,HTTP 对我而言就像是云雾环绕的一座山,看不透也不知从哪开始攀登。深入学习 HTTP 协议系列就是我对罗剑锋老师的《透视 HTTP 协议》所做的总结。希望能对大家的登山之旅有所帮助。
HTTP 是什么HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用来在 www 服务器和本地浏览器互相传输超文本的传送协议,超文本包括文字、图片、音频、视频等内容。
与 HTTP 相关的概念HTTP 协议中的两点一般浏览器是 HTTP 协议中的请求方,服务器是应答方。服务器这里有两个概念,一个是硬件指的是一台机器,另外一个是软件,指的是提供 web 服务的应用程序,运行在硬件服务器上。
CDNCDN 全称是 “Content Delivery Network”,内容分发式网络,利用了 HTTP 协议里的缓存和代理技术,代替源站响应客户端的请求。CDN 可以缓存源站数据,让浏览器请求更快的得到响应。
爬虫模拟 HTTP 请求端,向服务端发送请求,抓取各种数据。
DNSDNS 即域名系统,用有意义的名字替代 ip。再使用 TCP/IP ...