基本用法
我们知道,一个 js Promise 对象,我们可以用 then()、catch()、finally() 进行链式操作,如:
1 | promiseObj.then((res) => { |
这是 js Promise 的基本使用,但是要用好 Promise,还有一下几个问题需要搞清楚。
我们知道,一个 js Promise 对象,我们可以用 then()、catch()、finally() 进行链式操作,如:
1 | promiseObj.then((res) => { |
这是 js Promise 的基本使用,但是要用好 Promise,还有一下几个问题需要搞清楚。
Promise 对象Promise 对象创建 Promise 实例Vue3 组件间相互访问(单文件 + <script setup> + 组合式 API 举例)
在 <script setup> 中用 defineProps() 声明组件的属性,在父组件模板中引用子组件时,就可以给通过属性给子组件传参数(可以是值、变量、函数、对象等)。
defineProps是编译器宏,Vue3 编译器宏不需要导入,并且只能在<script setup>中使用。
ex: 子组件声明、调用属性
1 | <!-- HelloWorld.vue 子组件--> |
ex: 父组件使用属性
1 | <!-- Demo.vue 父组件 --> |
用 VueRouter hash 模式时,点击浏览器上的后退按钮,浏览器显示上一次浏览页面的时候,会重新执行页面,像页面刷新一样。
跟微信小程序不一样,微信小程序后退的时候不会重新执行,只是给我们一个
onShow事件,这样如果需要刷新数据,我们就可以在onShow里面解决。
在 Vue3 单文件组件中使用 <script setup> + 组合式 API
<script setup> 是在单文件组件 (SFC) 中使用组合式 API 的编译时语法糖。当同时使用 SFC 与组合式 API 时该语法是默认推荐。
在 <script> 标签上添加 setup 属性启用该语法,里面的代码会背编译成组件 setup() 函数的内容,每次组件实例被创建时执行。
1 | <script setup> |
如果要使用 TypeScript,加上 lang="ts" 属性即可。
1 | <script lang="ts" setup> |
当使用 <script setup> 的时候,任何在 <script setup> 声明的顶层的绑定 (包括变量,函数声明,以及 import 导入的内容) 都能在模板中直接使用。
响应式即变量数据变化的时候,视图跟着变化。
响应式状态需要明确使用 响应式 API 来创建.
常用 API:
1 | - users |
1 | // App\Models\User |
1 | // App\Models\Avatar |
1 | // 新建 |
1 | - posts |
1 | // App\Models\Post 关联 |
//TODO
1 | User::query()->whereIn( |
文件
编辑
查找相关
View
Bookmarks
Code
自动代码
显示窗口
Git
Composer的元数据存在国外的服务器,每次执行composer命令的时候,经常要下载很多的元数据,需要几分钟到十几分钟,效率极低。
我们可以设置使用国内composer镜像来加速。
1 | # 查看 composer 项目配置 |
设置镜像命令:
1 | # 阿里云镜像(不同步了,不推荐用) |
恢复默认源:
1 | composer config -g --unset repos.packagist |
最近安装 Laravel 10 总提示 匹配不到 doctrine/inflector 最小版本的错误:
1 | - laravel/framework[v10.0.0, ..., v10.4.1] require doctrine/inflector ^2.0.5 -> found doctrine/inflector[2.0.x-dev, 2.1.x-dev] but it does not match your minimum-stability. |
打开 packagist.org 看,明明最新包是 2.0.6,怎么会没有。
用 composer show doctrine/inflector -a 命令,看到的最新版本是 2.0.4 😭。可以实锤是镜像没同步,应用包太老了。
用命令 composer config -g --unset repos.packagist 恢复默认源,再执行 composer show doctrine/inflector -a,果然最新包时 2.0.6。
换腾讯云镜像,问题解决。
这篇文章解决:
有些应用需要部署到外网环境才能运行,我们使用 PhpStorm + Xdebug 在本地调试远程web服务器跑的代码。
1 | pecl install xdebug |
如果服务器部署的是php很新,安装xdebug不成功,可以试试 pecl install xdebug-beta
在php.ini中添加如下配置
CentOS 下 Nginx 部署免费SSL安全证书 Let's Encrypt (certbot)
此文档已过时,点击这里阅读新文档
Let’s Encrypt 是一个免费、开放,自动化的证书颁发机构,由 ISRG(Internet Security Research Group)运作。
兼容性: Let’s Encrypt 已经得了 IdenTrust 的交叉签名,这意味着其证书现在已经可以被所有主流的浏览器所信任,包括从IE6-IE11,其它现代浏览器更没话说,100%放心使用。
注册IP限制:每IP每3个小时不超过10次
域名数量限制:每个域名(包含子域名)每7天不超过5个
所有版本已申请的证书放在 /etc/letsencrypt/archive下,/etc/letsencrypt/live是指向最新版本的符号链接。web server中关于证书的配置建议指向 live 目录下的文件,以免证书更新后还需要更改配置。
每个域名一个目录,主要包含以下几个文件: