前言
上一篇文章 一份超详细VuePress + Github Pages教程 中详细介绍了 VuePress 的搭建和部署到 GitHub Pages 上,其中部署 GitHub Pages 采用的是手动部署。这篇文章教大家另一种部署方法 Github Actions
,文章还是以部署 VuePress 静态网站为例:
准备工作
-
准备一个 VuePress 网站
-
完成 ssh的配置
-
创建 GitHub个人令牌
上一篇文章 一份超详细VuePress + Github Pages教程 中详细介绍了 VuePress 的搭建和部署到 GitHub Pages 上,其中部署 GitHub Pages 采用的是手动部署。这篇文章教大家另一种部署方法 Github Actions
,文章还是以部署 VuePress 静态网站为例:
准备一个 VuePress 网站
完成 ssh的配置
创建 GitHub个人令牌
个人认为,有自己的个人博客是一种很酷的象征,同时在求职的时候,也会给人留下一个良好的印象。所以我一直想搞一个自己的博客网站,但是想到搞网站还要学习 后端知识+服务器知识
,我就失去动力了...
最近发现了一个神奇的工具 VuePress ,它满足了我所有的需求
Vue3 + TypeScript + Vite
(就是你了)深度选择器的使用场景一般是 修改第三方UI组件库
,如vant,elementUI,antd,同时页面中又使用了 scoped
原生css式样使用 >>>
<style scoped>
.myclass >>> .el-tag {
// 样式
}
</style>
<u-icon />
上的class、style无效传统的网页根据用户访问的不同的地址,浏览器从服务器获取对应页面的内容展示给用户。这样造成服务器压力比较大,而且用户访问速度也比较慢。
hash模式就是通过监听浏览器的hash值(锚点)来实现前端渲染;
history模式是通过操作浏览器的历史记录并监听这个动作来实现前端渲染。浏览器每访问一个地址,都会在浏览器栈里存入路径记录。
location.hash始终指向页面url中#之后的内容,用来修改浏览器的地址;
hashchange来监听变化做出相应渲染
相同点
不同的
语法
vue-原生语法、react-JSX语法数据绑定
vue-v-model双向绑定、react-setState单向流动props
vue-props直接写、react-需要引入prop-typesDOM更新策略
react自顶向下重新渲染render树条件渲染
vue-v-if、react-借助三元运算符,逻辑性更强兄弟组件通信
vue-eventBus-on/emit、react-subscribe/publish路由信息
vue-组件里获取this.$route、react-路由组件里获取this.props.history/location/match,一般组件没有css作用域
vue-scoped、react-module(仅选择器,原生标签不行)概念
Promise 本身是同步的立即执行函数, 当在 executor 中执行 resolve 或者 reject的时候, 此时是异步操作,会先执行then/catch等,当主栈完成后, 才会去调用 resolve/reject 中存放的方法执行。
async/await
async 函数返回一个 Promise 对象,当函数执行的时候,一旦遇到 await 就会先返回,等到触发的异步操作完成,再执行函数体内后面的语句。可以理解为,是让出了线程,跳出了 async 函数体。
Async/Await 就是一个自执行的 generate 函数。利用 generate 函数的特性把异步的代码写成“同步”的形式,第一个请求的返回值作为后面一个请求的参数,其中每一个参数都是一个 promise 对象.
静态方法
概念
特点
总结
on
beforeCreate
和 created
包含在 setup
函数中beforeDestroy
改为 onBeforeUnmount
,destroyed
改为 onUnmounted
开发的时候我们会用框架如Vue、React,ES6模块语法、Promise,开发样式使用LESS、SASS预处理器,这些代码是不能被浏览器识别的,如果要运行,就必须经过编译。