Compare commits
No commits in common. "master" and "gh-pages" have entirely different histories.
|
|
@ -1,24 +0,0 @@
|
|||
---
|
||||
name: 申请加入案例
|
||||
about: 申请将你的站点展示在文档站案例页
|
||||
title: 申请加入案例
|
||||
labels: 申请加入案例
|
||||
---
|
||||
|
||||
<!--
|
||||
请按照模板填写,否则此申请将可能不会被通过并直接关闭。
|
||||
|
||||
站点要求:
|
||||
1.使用Vdoing主题
|
||||
2.有10篇以上文章
|
||||
3.保留 footer 的主题推荐链接
|
||||
-->
|
||||
|
||||
名称:站点名称
|
||||
简介:站点简介
|
||||
链接:站点链接
|
||||
截图:站点截图链接
|
||||
作者:作者名称
|
||||
头像:作者头像链接
|
||||
|
||||
备注(可选): 知识库兼博客 | 社区 | 知识库 | 博客 | 文档站
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
---
|
||||
name: 报告bug
|
||||
about: 创建一个报告来帮助我们改进
|
||||
title: "[bug]: "
|
||||
labels: bug
|
||||
---
|
||||
|
||||
<!--请按照模板填写,否则此issue将可能被关闭-->
|
||||
|
||||
## 问题描述
|
||||
<!--xxxx-->
|
||||
|
||||
## 重现步骤
|
||||
<!--
|
||||
1. [xxx]
|
||||
2. [xxx]
|
||||
3. [xxx]
|
||||
-->
|
||||
|
||||
## 重现链接(如有)
|
||||
<!--https://xxx.com-->
|
||||
|
||||
## 问题截图(如有)
|
||||
<!---->
|
||||
|
||||
## 依赖版本
|
||||
- node.js: <!--v1x.x.x-->
|
||||
- @vuepress: <!--v1.x.x-->
|
||||
- vuepress-theme-vdoing: <!--v1.x.x-->
|
||||
|
||||
## 补充说明(可选)
|
||||
<!--xxxx-->
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
---
|
||||
name: 提交疑问
|
||||
about: 提交你的疑问
|
||||
title: "[提问]: "
|
||||
labels: 提问
|
||||
---
|
||||
|
||||
<!--提示:问题描述越详细,提供的信息越完整越可能得到回答。但也不能保证所有问题都能得到回答。你也可以加入我们的交流QQ群:694387113-->
|
||||
|
||||
## 问题描述
|
||||
<!--xxxx-->
|
||||
|
||||
## 重现步骤(可选)
|
||||
<!--
|
||||
1. [xxx]
|
||||
2. [xxx]
|
||||
3. [xxx]
|
||||
-->
|
||||
|
||||
## 重现链接(可选)
|
||||
<!--https://xxx.com-->
|
||||
|
||||
## 问题截图(可选)
|
||||
<!---->
|
||||
|
||||
## 依赖版本(可选)
|
||||
- node.js: <!--v1x.x.x-->
|
||||
- @vuepress: <!--v1.x.x-->
|
||||
- vuepress-theme-vdoing: <!--v1.x.x-->
|
||||
|
||||
## 补充说明(可选)
|
||||
<!--xxxx-->
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
## 利用GitHub Actions每天定时给百度推送链接,提高收录率 ##
|
||||
|
||||
name: baiduPush
|
||||
|
||||
# 两种触发方式:一、push代码,二、每天国际标准时间23点(北京时间+8即早上7点)运行
|
||||
on:
|
||||
push:
|
||||
schedule:
|
||||
- cron: '0 23 * * *' # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#scheduled-events-schedule
|
||||
|
||||
# on:
|
||||
# schedule:
|
||||
# - cron: '*/5 * * * *' # 每5分钟一次,测试用
|
||||
|
||||
jobs:
|
||||
bot:
|
||||
runs-on: ubuntu-latest # 运行环境为最新版的Ubuntu
|
||||
steps:
|
||||
- name: 'Checkout codes' # 步骤一,获取仓库代码
|
||||
uses: actions/checkout@v1
|
||||
- name: 'Run baiduPush' # 步骤二,执行sh命令文件
|
||||
run: npm install && npm run baiduPush # 运行目录是仓库根目录
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
name: CI
|
||||
|
||||
#on: [push]
|
||||
|
||||
# 在master分支发生push事件时触发。
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
env: # 设置环境变量
|
||||
TZ: Asia/Shanghai # 时区(设置时区可使页面中的`最近更新时间`使用该时区时间)
|
||||
|
||||
jobs:
|
||||
build: # 自定义名称
|
||||
runs-on: ubuntu-latest # 运行在虚拟机环境ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x]
|
||||
|
||||
steps:
|
||||
- name: Checkout # 步骤1
|
||||
uses: actions/checkout@v1 # 使用的动作。格式:userName/repoName。作用:检出仓库,获取源码。 官方actions库:https://github.com/actions
|
||||
- name: Use Node.js ${{ matrix.node-version }} # 步骤2
|
||||
uses: actions/setup-node@v3 # 作用:安装nodejs
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }} # 版本
|
||||
- name: Build-and-deploy # 步骤3
|
||||
run: |
|
||||
remote_addr=`git remote get-url --push origin`
|
||||
commit_info=`git describe --all --always --long`
|
||||
user_name=`git log -1 --pretty=format:'%an'`
|
||||
user_email=`git log -1 --pretty=format:'%ae'`
|
||||
deploy_branch=gh-pages
|
||||
yarn
|
||||
yarn build
|
||||
cd docs/.vuepress/dist
|
||||
git config --global init.defaultBranch $deploy_branch
|
||||
git init
|
||||
git config user.name ${user_name}
|
||||
git config user.email ${user_email}
|
||||
git add -A
|
||||
git commit -m "auto deploy, $commit_info"
|
||||
remote_addr=`echo $remote_addr | awk -F'://' '{print $2}'`
|
||||
remote_addr=https://${user_name}:${{secrets.GITHUB_TOKEN}}@${remote_addr}
|
||||
git remote add origin ${remote_addr}
|
||||
git push origin HEAD:$deploy_branch --force # 推送到github $deploy_branch分支
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
# npm
|
||||
package-lock.json
|
||||
node_modules
|
||||
|
||||
# yarn
|
||||
yarn.lock
|
||||
yarn-error.log
|
||||
|
||||
# pnpm
|
||||
pnpm-lock.yaml
|
||||
|
||||
# vscode
|
||||
.vscode
|
||||
|
||||
# vuepress
|
||||
docs/.vuepress/dist
|
||||
|
||||
# 百度链接推送
|
||||
urls.txt
|
||||
|
||||
# mac
|
||||
.DS_Store
|
||||
21
LICENSE
21
LICENSE
|
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2019-present gaoyi(Evan) Xu
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
112
README.MD
112
README.MD
|
|
@ -1,112 +0,0 @@
|
|||
<p align="center"><a href="https://xugaoyi.com/" target="_blank" rel="noopener noreferrer"><img width="180" src="https://jsd.cdn.zzko.cn/gh/xugaoyi/image_store/blog/20200409124835.png" alt="logo"></a></p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.npmjs.com/package/vuepress-theme-vdoing"><img alt="npm" src="https://img.shields.io/npm/v/vuepress-theme-vdoing"></a>
|
||||
<a href="https://www.npmjs.com/package/vuepress-theme-vdoing" target="_blank"><img src="https://img.shields.io/npm/dt/vuepress-theme-vdoing" alt="npm" ></a>
|
||||
<a href="https://github.com/xugaoyi/vuepress-theme-vdoing/stargazers"><img src="https://img.shields.io/github/stars/xugaoyi/vuepress-theme-vdoing?logo=ReverbNation&logoColor=rgba(255,255,255,.6)" alt="GitHub stars"></a>
|
||||
<a href="https://github.com/xugaoyi/vuepress-theme-vdoing/actions?query=workflow%3ACI"><img src="https://github.com/xugaoyi/vuepress-theme-vdoing/workflows/CI/badge.svg" alt="CI"></a>
|
||||
<a href="https://github.com/xugaoyi/vuepress-theme-vdoing/actions?query=workflow%3AbaiduPush"><img src="https://github.com/xugaoyi/vuepress-theme-vdoing/workflows/baiduPush/badge.svg" alt="baiduPush"></a>
|
||||
</p>
|
||||
|
||||
<h2 align="center">vuepress-theme-vdoing</h2>
|
||||
|
||||
|
||||
|
||||
[文档](https://doc.xugaoyi.com/) |
|
||||
[效果](https://xugaoyi.com/) |
|
||||
[本仓库的gitee镜像](https://gitee.com/xugaoyi/vuepress-theme-vdoing)
|
||||
|
||||
<br/>
|
||||
<p align="center" style="color: #999;">
|
||||
赞助商
|
||||
</p>
|
||||
<p align="center">
|
||||
<!-- <a href="http://apifox.cn/a103xugaoyi" target="_blank"><img src="https://jsd.cdn.zzko.cn/gh/xugaoyi/blog-gitalk-comment@master/img/Apifox-860x320.ic7tz1417sw.png" alt="赞助商" style="width: 400px;border-radius: 2px;"></a> -->
|
||||
<a href="http://apifox.cn/a103xugaoyi" target="_blank"><img src="https://jsd.cdn.zzko.cn/gh/xugaoyi/blog-gitalk-comment@master/img/441669861566_.2bedplbm21hc.jpg" alt="赞助商" style="width: 400px;border-radius: 2px;"></a>
|
||||
</p>
|
||||
|
||||
<p align="center" style="color: #999; font-size:13px;">(进入赞助商扫码注册可为本项目作者充电~)</p>
|
||||
|
||||
## 介绍
|
||||
1. 这个主题的初衷是打造一个好用的、面向程序员的`知识管理工具`
|
||||
2. 轻松构建一个`结构化`的知识库,让你的知识海洋像一本本书一样清晰易读。
|
||||
3. 博客功能提供一种知识的`碎片化`形态,并支持个性化博客配置。
|
||||
4. `简洁高效`,以 Markdown 为中心的项目结构。内置自动化工具,以更少的配置完成更多的事。配合多维索引快速定位每个知识点。
|
||||
|
||||
[**更新日志**](https://github.com/xugaoyi/vuepress-theme-vdoing/releases)
|
||||
|
||||
## 这个主题可以做什么?
|
||||
* 案例1:[知识库兼博客站](https://xugaoyi.com/)
|
||||
* 案例2:[仅博客站](https://xugaoyi.github.io/vdoing-demo-blog/)
|
||||
* 案例3:[仅知识库](https://xugaoyi.github.io/vdoing-demo-repository/)
|
||||
* 案例4:[文档站](https://doc.xugaoyi.com/)
|
||||
|
||||
|
||||
## 快速上手
|
||||
|
||||
```bash
|
||||
# clone the project
|
||||
git clone https://github.com/xugaoyi/vuepress-theme-vdoing.git
|
||||
|
||||
# enter the project directory
|
||||
cd vuepress-theme-vdoing
|
||||
|
||||
# install dependency
|
||||
npm install # or yarn install
|
||||
|
||||
# develop
|
||||
npm run dev # or yarn dev
|
||||
```
|
||||
|
||||
<!-- ## ⚡️未来...
|
||||
|
||||
|
||||
期待 [VuePress v2.0](https://github.com/vuepress/vuepress-next) 以及 [VitePress](https://github.com/vuejs/vitepress) 的正式发布...
|
||||
|
||||
届时,VuePress 1.x 编译慢的缺点将得到极大的改善。我将会视情况把主题升级至 VuePress v2.0 或 VitePress,也可能两个都升级。目前(2020.10.29)来看还需要一段时间才能让大家使用上基于它们的新版本,还希望大家多多 [:sparkling_heart:支持](https://doc.xugaoyi.com/pages/1b12ed/) 哟,持续关注吧~ -->
|
||||
|
||||
## :sparkling_heart:支持这个项目
|
||||
|
||||
如果你正在使用这个项目并感觉良好,或只是想要支持我继续开发,你可以通过如下*任意* 方式支持我:
|
||||
|
||||
1. *Star* 并 分享这个项目 :rocket:
|
||||
2. 保留主题 footer(页脚) 的主题链接 :D
|
||||
3. 关注公众号`yqyjs666`,回复`前端资源`,可获取 [前端学习资源](https://github.com/xugaoyi/blog-gitalk-comment/wiki/Front-end-Study)
|
||||
<!-- 4. 轻轻点击一次页面广告 ✨ -->
|
||||
4. 通过以下二维码 一次性捐款。 我多半会买一杯 ~~咖啡~~ 茶。:tea:
|
||||
|
||||
谢谢! :heart:
|
||||
|
||||
| 微信赞赏 | 微信 | 支付宝 |
|
||||
| :---: | :---: | :---: |
|
||||
| <img src="https://jsd.cdn.zzko.cn/gh/xugaoyi/image_store/blog/20200523131533.jpg" alt="赞赏码" width=150> | <img src="https://jsd.cdn.zzko.cn/gh/xugaoyi/image_store/blog/20200410113708.jpg" alt="Wechat QRcode" width=150>| <img src="https://jsd.cdn.zzko.cn/gh/xugaoyi/image_store/blog/20200410113707.jpg" alt="Alipay QRcode" width=150> |
|
||||
|
||||
二维码没有正常显示?点 [这里😎](https://doc.xugaoyi.com/pages/1b12ed/)
|
||||
|
||||
## 致谢
|
||||
:heart:感谢支持这个项目的朋友
|
||||
|
||||
:heart:感谢为这个项目贡献代码的朋友 → [Contributors](https://github.com/xugaoyi/vuepress-theme-vdoing/graphs/contributors)
|
||||
|
||||
## 交流群
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<img src="https://mmbiz.qpic.cn/sz_mmbiz_jpg/SaV6d0YfaAS0naAeQWibGVkSt6DxSaqGxdkJaeEqoJJ6M1NV1kq9aUqE3lGo7BuroTAoMg4rgibIIay1ibfvqXEiaA/0?wx_fmt=jpeg" class="no-zoom" style="width:120px;margin: 10px;">
|
||||
<p>vdoing微信群(添加我微信备注"加群")</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="https://jsd.cdn.zzko.cn/gh/xugaoyi/image_store@master/qq.3ugglfuuwz00.webp" alt="群号: 694387113" class="no-zoom" style="width:120px;margin: 10px;">
|
||||
<p>vdoing QQ群: 694387113</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
## 许可证
|
||||
[MIT](https://github.com/xugaoyi/vuepress-theme-vdoing/blob/master/LICENSE)
|
||||
|
||||
Copyright (c) 2019-present Evan Xu
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"><g stroke-width="2" stroke="#aaa" fill="none"><path d="M11.29 11.71l-4-4"/><circle cx="5" cy="5" r="4"/></g></svg>
|
||||
|
After Width: | Height: | Size: 216 B |
|
|
@ -0,0 +1 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{396:function(t,n,s){"use strict";s.r(n);var e=s(5),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{393:function(t,n,s){"use strict";s.r(n);var e=s(5),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{395:function(t,n,s){"use strict";s.r(n);var e=s(5),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[126],{508:function(t,n,s){"use strict";s.r(n);var i=s(5),r=Object(i.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("p",[t("img",{attrs:{src:"/img/git.png",alt:"Git命令思维导图"}})])])}),[],!1,null,null,null);n.default=r.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[156],{539:function(t,s,n){"use strict";n.r(s);var r=n(5),a=Object(r.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"_01-高级指引"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_01-高级指引"}},[this._v("#")]),this._v(" 01.高级指引")])])}),[],!1,null,null,null);s.default=a.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[163],{546:function(t,r,a){"use strict";a.r(r);var p=a(5),v=Object(p.a)({},(function(){var t=this,r=t._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"简介"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#简介"}},[t._v("#")]),t._v(" 简介")]),t._v(" "),r("p",[t._v("TypeScript 作为 JavaScript 语言的超集,它为 JavaScript 添加了可选择的类型标注,大大增强了代码的可读性和可维护性。同时,它提供最新和不断发展的 JavaScript 特性,能让我们建立更健壮的组件。")]),t._v(" "),r("h2",{attrs:{id:"typescript-的特点"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#typescript-的特点"}},[t._v("#")]),t._v(" TypeScript 的特点")]),t._v(" "),r("p",[t._v("TypeScript 主要有 3 大特点:")]),t._v(" "),r("ul",[r("li",[r("strong",[t._v("始于JavaScript,归于JavaScript")])])]),t._v(" "),r("p",[t._v("TypeScript 可以编译出纯净、 简洁的 JavaScript 代码,并且可以运行在任何浏览器上、Node.js 环境中和任何支持 ECMAScript 3(或更高版本)的JavaScript 引擎中。")]),t._v(" "),r("ul",[r("li",[r("strong",[t._v("强大的工具构建大型应用程序")])])]),t._v(" "),r("p",[t._v("类型允许 JavaScript 开发者在开发 JavaScript 应用程序时使用高效的开发工具和常用操作比如静态检查和代码重构。")]),t._v(" "),r("p",[t._v("类型是可选的,类型推断让一些类型的注释使你的代码的静态验证有很大的不同。类型让你定义软件组件之间的接口和洞察现有 JavaScript 库的行为。")]),t._v(" "),r("ul",[r("li",[r("strong",[t._v("先进的 JavaScript")])])]),t._v(" "),r("p",[t._v("TypeScript 提供最新的和不断发展的 JavaScript 特性,包括那些来自 2015 年的 ECMAScript 和未来的提案中的特性,比如异步功能和 Decorators,以帮助建立健壮的组件。")]),t._v(" "),r("p",[t._v("这些特性为高可信应用程序开发时是可用的,但是会被编译成简洁的 ECMAScript3(或更新版本)的JavaScript。")]),t._v(" "),r("h2",{attrs:{id:"总结"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#总结"}},[t._v("#")]),t._v(" 总结")]),t._v(" "),r("p",[t._v("TypeScript 在社区的流行度越来越高,它非常适用于一些大型项目,也非常适用于一些基础库,极大地帮助我们提升了开发效率和体验。如果你还没有开始学习 TypeScript,那么你可能要落后了哟,所以还等什么,快来和我一起学习并使用 TypeScript 吧,来感受一下它为我们带来的奇妙体验。")])])}),[],!1,null,null,null);r.default=v.exports}}]);
|
||||
|
|
@ -0,0 +1 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[164],{547:function(s,a,t){"use strict";t.r(a);var e=t(5),r=Object(e.a)({},(function(){var s=this,a=s._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"安装-typescript"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安装-typescript"}},[s._v("#")]),s._v(" 安装 TypeScript")]),s._v(" "),a("p",[s._v("命令行运行如下命令,全局安装 TypeScript:")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("npm")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-g")]),s._v(" typescript\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v("安装完成后,在控制台运行如下命令,检查安装是否成功(3.x):")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[s._v("tsc "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-V")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])])])}),[],!1,null,null,null);a.default=r.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
(window.webpackJsonp=window.webpackJsonp||[]).push([[174],{559:function(t,e,s){"use strict";s.r(e);var a=s(5),r=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"需求分析"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#需求分析"}},[t._v("#")]),t._v(" 需求分析")]),t._v(" "),e("p",[t._v("接下来的章节,我们会使用 TypeScript 来重构 axios,重构之前,我们需要简单地做一些需求分析,看一下我们这次重构需要支持哪些 feature。")]),t._v(" "),e("h2",{attrs:{id:"features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[t._v("#")]),t._v(" Features")]),t._v(" "),e("ul",[e("li",[t._v("在浏览器端使用 XMLHttpRequest 对象通讯")]),t._v(" "),e("li",[t._v("支持 Promise API")]),t._v(" "),e("li",[t._v("支持请求和响应的拦截器")]),t._v(" "),e("li",[t._v("支持请求数据和响应数据的转换")]),t._v(" "),e("li",[t._v("支持请求的取消")]),t._v(" "),e("li",[t._v("JSON 数据的自动转换")]),t._v(" "),e("li",[t._v("客户端防止 XSRF")])]),t._v(" "),e("p",[t._v("此外,我们还会支持一些 axios 库支持的一些其它的 feature。这里要注意的,我们这次重构不包括 axios 在 Node 中的实现,因为这部分我们在平时项目中应用的很少,还涉及到很多 Node.js 的知识,如果都讲的话,一是比较占用时间,另一个可能会喧宾夺主了。当然,这部分知识点我会根据同学们学习的反馈,如果大家很感兴趣想学习的话,我就作为课程的补充内容加到后期视频的扩展中,也当做课程的福利送给大家,所以大家务必要支持一下正版课程喔~")]),t._v(" "),e("p",[t._v("那么接下来我们就开始初始化项目吧!")])])}),[],!1,null,null,null);e.default=r.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue