本地开发问题集合

110 阅读2分钟

1.模拟https 环境

在本地开发中,经常会需要模拟https环境。在传统解决方案中,需要使用自签证书,然后在http server 中使用。由于自签证书浏览器不信任,我们需要将自签证书使用的 CA 证书添加到系统或浏览器的可信 CA 证书列表中。

今天我们将学习本地https快速解决方案 mkcert

mkcert 是一个用 Go 语言编写的能生成本地自签证书的工具,它使用了一个名为 local CA 的根证书,这个根证书是由 mkcert 生成的,它会被安装到系统的受信任的根证书列表中。

下面我们来学习使用。

安装

brew install mkcert

安装成功后执行

mkcert -install

该命令会将mkcert 使用的根证书加入系统可信任CA证书的列表里,以后由该CA 签发的证书在本地都是可信的。

我们将在钥匙串访问app 中找到该证书。

接着我们来生成证书。

mkcert -key-file local-key.pem -cert-file local-cert.pem localhost 127.0.0.1 ::1

通过 -key-file 和-cert-file 重新定义了生成的私钥文件(key) 和证书文件(cert)的名字。签发的是一个仅本机访问(localhost, 127.0.0.1,以及ipv6地址 ::1 )访问的证书。

证书会自动生成并保存到当前目录。

接着我们通过Umi4的配置来使用证书。(仅做示范,其他版本,设备或语言的使用请参考官网)。设置的是对应证书和私钥放置的路径。

重启后可以模拟https 环境访问了~

2.跨域解决方案

经常我们会遇到本地开发的时候浏览器访问地址必须要求在某个顶级域名下,不然登录后就会认为没有登录权限而跳到登录页面去,或是访问地址和接口地址不在一个顶级域名下,熟称跨域,从而影响开发。为了解决这个问题,我们需要把浏览器访问路径的顶级域名设置成要求的域名。

我们可以通过如下app 来做映射。

通过映射后,我们就可以通过web.baidu.com 来访问本地文件了。

最后推荐下我的个人网站- 【良月清秋的前端日志】(animasling.github.io/front-end-b…) ,希望我的文章对你有帮助。