最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VuePress 快速踩坑小結(jié)

 更新時(shí)間:2019年02月14日 11:22:32   作者:MT1992  
VuePress 可以讓您非常方便的在 Markdown 文檔中編寫 Vue 代碼,這篇文章主要介紹了VuePress 快速踩坑小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

最近有個(gè)開源項(xiàng)目非常火,那就是尤小右開發(fā)的 VuePress,VuePress 可以讓您非常方便的在 Markdown 文檔中編寫 Vue 代碼,并且 VuePress 對(duì)編譯后的 HTML 文件做了一些針對(duì)搜索引擎的優(yōu)化。另外 VuePress 針對(duì) Markdown 文件做了一些擴(kuò)展使其功能更加強(qiáng)大,本文將圍繞搭建一個(gè) Github 的靜態(tài)博客展開。

為項(xiàng)目加入 VuePress

第一步為您的項(xiàng)目安裝 VuePress,如果您的項(xiàng)目代碼中并沒有 package.json文件,請(qǐng)先執(zhí)行 npm init。

npm install -D vuepress // 或者 yarn add -D vuepress

// 在項(xiàng)目根目錄下新加 docs 文件夾
mkdir docs

// 新建一個(gè) Markdown 文件
echo "# Hello VuePress!" > docs/README.md

第二步在 package.json 中加入這些腳本,并運(yùn)行。

// package.json
"scripts": {
 "docs:dev": "vuepress dev docs",
 "docs:build": "vuepress build docs"
}

// 本地運(yùn)行文檔
npm run docs:dev

// 編譯打包生產(chǎn)靜態(tài) HTML 文件
npm run docs:build

VuePress 對(duì) Markdown 做了一些擴(kuò)展,使得我們可以在 Markdown 文件中使用 YAML 語(yǔ)法,VuePress 使用 ---來隔離 Markdown 語(yǔ)法。

---
// 該語(yǔ)法表示使用當(dāng)前頁(yè)面標(biāo)題自動(dòng)生成側(cè)邊欄
sidebar: auto
---

VuePress 基礎(chǔ)配置

通過 VuePress 配置文件我們可以使用一些自定義的功能,譬如添加側(cè)邊欄,添加導(dǎo)航欄等。首先在 docs 目錄下新建一個(gè) .vuepress目錄,并在該目錄下方新建 config.js。

  1. VuePress 默認(rèn)將文件打包在 .vuepress/dist目錄下,我們可以通過 dest屬性修改文件輸出目錄,例如將文件輸出在項(xiàng)目根目錄下的 dist文件夾中。
  2. 通過設(shè)置 repo屬性,VuePress 會(huì)在導(dǎo)航欄中添加一個(gè) Github 倉(cāng)庫(kù)的鏈接。
  3. 在 VuePress 中通過設(shè)置 title屬性來設(shè)置網(wǎng)站的標(biāo)題,它將會(huì)被用作所有頁(yè)面標(biāo)題的前綴,在默認(rèn)主題下,它將應(yīng)用在導(dǎo)航欄上。
  4. 在使用 VuePress 編寫博客并發(fā)布到 Github pages 的時(shí)候,我們可能會(huì)遇到下圖所顯示的問題,頁(yè)面已經(jīng)有了,但是樣式和 js 沒有加載成功。我們可以通過配置 base 屬性來解決這個(gè)問題, base 屬性的默認(rèn)值是 /。假如您準(zhǔn)備將代碼部署到 taoxusheng.github.io/mt-blog/ , 那么 base屬性就應(yīng)該被設(shè)置成 /mt-blog/。注意:base 屬性的值總是以 / 開始并以 / 結(jié)束。

// dcos/.vuepress/config.js
module.exports = {
 title: 'my-blog', // 設(shè)置網(wǎng)站標(biāo)題
 dest: './dist',  // 設(shè)置輸出目錄
 base: '/mt-blog/',// 設(shè)置站點(diǎn)根路徑
 repo: 
 'https://github.com/TaoXuSheng/mt-blog' // 添加 github 鏈接
}

導(dǎo)航欄與側(cè)邊欄

在 VuePress 中如果想要為您的網(wǎng)站添加導(dǎo)航欄,可以通過設(shè)置 themeConfig.nav 來添加導(dǎo)航鏈接,通過設(shè)置 themeConfig.sidebar 屬性來添加側(cè)邊欄。如果您的導(dǎo)航是一個(gè)下拉列表,可以通過 items 屬性來設(shè)置。

// dcos/.vuepress/config.js
module.exports = {
 themeConfig: {
  // 添加導(dǎo)航欄
  nav: [
   { text: 'vue', link: '/' },
   { text: 'css', link: '/blog/' },
   { text: 'js', link: '/zhihu/' },
   {
    text: 'github',
    // 這里是下拉列表展現(xiàn)形式。
    items: [
     { text: 'focus-outside', link: 'https://github.com/TaoXuSheng/focus-outside' },
     { text: 'stylus-converter', link: 'https://github.com/TaoXuSheng/stylus-converter' },
    ]
   }
  ],
  // 為以下路由添加側(cè)邊欄
  sidebar: ['/', '/git', '/vue']
 }
}

有些時(shí)候我們可能需要一個(gè)多級(jí)側(cè)邊欄,例如一個(gè)博客系統(tǒng),將一些類似的文章放在相同的目錄下方,我們希望為這些目錄的所有文件都添加側(cè)邊欄,就像下面這樣的一個(gè)目錄。

docs
 ├── README.md
 ├── vue
 │  ├─ README.md
 │  ├─ one.md
 │  └─ two.md
 └── css
   ├─ README.md
   ├─ three.md
   └─ four.md

對(duì)于多級(jí)目錄的側(cè)邊欄,我們需要用使用對(duì)象描述的寫法,下面的 /git/ 表示在 git 目錄,默認(rèn)指向 /git/README.md 文件。

// dcos/.vuepress/config.js
module.exports = {
 themeConfig: {
  sidebar: {
   '/vue/': [
    'one',
    'two'
   ],
   '/css/': [
    'three',
    'four'
   ]
  }
 }
}

在 VuePress 中注冊(cè)組件

在 VuePress 中編寫 Vue 代碼,和我們通常的編寫單文件的方式一致,有些時(shí)候我們有可能需要使用 Vue 的 UI 組件庫(kù)。例如 Element,Mint 等,通常我們?cè)陧?xiàng)目中使用這些 UI 組件庫(kù)的時(shí)候,我們都會(huì)在 main.js 或 botostrap.js 文件中統(tǒng)一注冊(cè)。好在 VuePress 中也支持這種功能,我們可以通過創(chuàng)建一個(gè) .vuepress/enhanceApp.js 文件來做一些應(yīng)用級(jí)別的配置,這個(gè)文件 exprot default 一個(gè)鉤子函數(shù),在這個(gè)鉤子中你可以做一些特殊處理,例如添加全局路由鉤子,注冊(cè)外部組件庫(kù)。

// .vuepress/enhanceApp.js
// 全局注冊(cè) Element 組件庫(kù)
import Vue from 'vue'
import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

export default ({
 Vue,
 options,
 router
}) => {
 Vue.use(Element)
}

在 Vue 正常開發(fā)中,有些時(shí)候我們可能會(huì)需要做一些自定義的組件,在 VuePress 中我們可以在 .vuepress/components 目錄中編寫我們的自定義組件,VuePress 在編譯時(shí)遍歷該目錄中所有的 *.vue 文件,并見它們注冊(cè)為全局組件。

// 注冊(cè)一個(gè)自定義組件
// docs/.vuepress/components/hello.vue
<template>
 <div class="cpt-hello">Hello VuePress Demo</div>
</template>

這樣我們?cè)?Markdown 文件編寫 Vue 代碼的時(shí)候就不需要注冊(cè)注冊(cè)這些組件,邊可以直接在 Markdown 中使用了。

// docs/.vuepress/vue/README.md
<template>
 <div class="test-demo">
  {{ msg }}
  <my-hello></my-hello>
  <el-button>button</el-button>
 </div>
</template>

<script>
export default {
 data () {
  return {
   msg: 'Hello VuePress!'
  }
 }
}
</script>

部署到 Github pages

當(dāng)我們將文檔寫好后就到了我們最關(guān)心的地方了,怎么將打包后的代碼推送到遠(yuǎn)程倉(cāng)庫(kù)的 gh-pages 分支上,網(wǎng)上應(yīng)該有很多文章描述怎么做,但是很多方法比較麻煩,還好有工具已經(jīng)為我們解決了這個(gè)麻煩了。

// 1.下載 gh-pages 包
npm install -D gh-pages

// 2\. 在 package.json 文件上添加腳本命令
"scripts": {
 "docs:dev": "vuepress dev docs",
 "docs:build": "vuepress build docs",
 // 上面我修改了 VuePress 的輸出目錄,所以您如果沒有修改 .vuepress/config.js
 // 的 dest 屬性,應(yīng)該將這里的 dist 改為 .vuepress/dist
 "deploy": "gh-pages -d dist",
 "deploy:build": "npm run docs:build && gh-pages -d dist"
}

// 3\. 打包并推送到 gh-pages 分支
npm run deploy:build

// 4.打開你的 Github pages, 地址是 https://<yourname>/github.io/<repo>

總結(jié)

相比較 Hexo 而言 VuePress 上手更加容易,功能也更強(qiáng)大,例如在 VuePress 可以注冊(cè)自定義組件,而且 VuePress 中編寫 Vue 和平時(shí)一樣學(xué)習(xí)成本幾乎為零。所以如果您正在開源一款 Vue 相關(guān)的庫(kù)或是其他項(xiàng)目,您都可以使用 VuePress 作為您的文檔編輯工具。雖然并沒有完全將 VuePress 內(nèi)容講完,學(xué)完該篇文章相信你可以對(duì) VuePress 有個(gè)大概的了解,您至少可以快速搭建一個(gè)博客,如果您想對(duì) VuePress 有更多了解,請(qǐng)參考Vuepress 中文 API。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • axios請(qǐng)求中以params或body形式傳遞參數(shù)的區(qū)別淺析

    axios請(qǐng)求中以params或body形式傳遞參數(shù)的區(qū)別淺析

    最近在做自己項(xiàng)目中,做一個(gè)非常簡(jiǎn)單的新增用戶場(chǎng)景,但是使用原生axios發(fā)送post請(qǐng)求的時(shí)候,還是踩了不少坑的,下面這篇文章主要給大家介紹了關(guān)于axios請(qǐng)求中以params或body形式傳遞參數(shù)的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Vuex模塊化與持久化深入講解

    Vuex模塊化與持久化深入講解

    在實(shí)際項(xiàng)目開發(fā)過程中,如果公共數(shù)據(jù)比較多我們會(huì)使用vuex做公共狀態(tài)管理,但是在對(duì)瀏覽器進(jìn)行刷新操作的時(shí)候,會(huì)導(dǎo)致vuex內(nèi)的數(shù)據(jù)丟失,這種情況有些時(shí)候是沒問題的,但是有的時(shí)候我們需要某些數(shù)據(jù)可以持久化的保存,這樣就需要做對(duì)應(yīng)的處理
    2023-01-01
  • 詳解Vue中子組件修改父組件傳過來的值的三種方式

    詳解Vue中子組件修改父組件傳過來的值的三種方式

    這篇文章主要為大家詳細(xì)介紹了Vue中子組件修改父組件傳過來的值的三種方式,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下
    2024-12-12
  • Vue實(shí)現(xiàn)嵌套菜單組件

    Vue實(shí)現(xiàn)嵌套菜單組件

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)嵌套菜單組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • uni-app?開發(fā)微信小程序定位功能

    uni-app?開發(fā)微信小程序定位功能

    這篇文章主要介紹了uni-app?開發(fā)微信小程序定位,通過使用onLocationChange方法持續(xù)監(jiān)聽地址,根據(jù)定位精度字段判斷是否使用此次定位的經(jīng)緯度,需要的朋友可以參考下
    2022-04-04
  • Vue中extends繼承和組件復(fù)用性詳解

    Vue中extends繼承和組件復(fù)用性詳解

    這篇文章主要給大家介紹了關(guān)于Vue中extends繼承和組件復(fù)用性的相關(guān)資料,組件(Component)是Vue.js最強(qiáng)大的功能之一,組件可以擴(kuò)展HTML元素,封裝可重用的代碼,需要的朋友可以參考下
    2023-11-11
  • vue導(dǎo)出excel和echart圖形分別在不同工作表的實(shí)現(xiàn)方法

    vue導(dǎo)出excel和echart圖形分別在不同工作表的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了如何使用vue實(shí)現(xiàn)導(dǎo)出excel和echart圖形分別在不同工作表,文中有詳細(xì)的代碼示例供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-10-10
  • vue實(shí)現(xiàn)鼠標(biāo)滑動(dòng)展示tab欄切換

    vue實(shí)現(xiàn)鼠標(biāo)滑動(dòng)展示tab欄切換

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)鼠標(biāo)滑動(dòng)展示tab欄切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue將data恢復(fù)到初始狀態(tài) && 重新渲染組件實(shí)例

    vue將data恢復(fù)到初始狀態(tài) && 重新渲染組件實(shí)例

    這篇文章主要介紹了vue將data恢復(fù)到初始狀態(tài) && 重新渲染組件實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • vue2的todolist入門小項(xiàng)目的詳細(xì)解析

    vue2的todolist入門小項(xiàng)目的詳細(xì)解析

    本篇文章主要介紹了vue2的todolist入門小項(xiàng)目的詳細(xì)解析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05

最新評(píng)論

崇州市| 临沂市| 台安县| 厦门市| 南丰县| 玛多县| 江油市| 宜黄县| 西和县| 西充县| 乌拉特前旗| 栾城县| 北辰区| 沈丘县| 西乡县| 孟津县| 会理县| 乌苏市| 德令哈市| 娄烦县| 碌曲县| 开原市| 鞍山市| 扬中市| 乌拉特中旗| 永靖县| 吉木萨尔县| 汨罗市| 孟津县| 灵璧县| 柳林县| 广饶县| 仪征市| 额尔古纳市| 绥芬河市| 微山县| 天祝| 肇州县| 哈巴河县| 永清县| 甘泉县|