vue.js - VuePress 主题继承设置
问题描述
我正在尝试使用主题继承来修改 VuePress 默认主题导航栏。阅读 1.x 文档后,我相信我正在应用推荐的内容,但网站构建不正确。
我已添加extend = '@vuepress/theme-default'
到我的config.toml
文件中,并创建了一个名为.vuepress/theme/components/
我已添加文件的目录Navbar.vue
。
生成站点时,我的终端给了我以下警告:
warning [vuepress] Cannot resolve Layout.vue file in undefined, fallback to default layout: ...
该网站确实可以工作,但没有使用默认主题,并且页面全部关闭。
解决方案
如何在 Vuepress 中扩展默认主题
第 1 步:在 './vuepress' 下创建一个名为 «theme» 的文件夹
在此文件夹中创建一个名为 «index.js» 的文件,其中包含以下几行:
module.exports = {
extend: '@vuepress/theme-default'
}
通过这样做,您指定您正在扩展默认主题。
第 2 步:根据“@vuepress/theme-default”下的文件夹重新创建正确的文件夹层次结构</h2>
例如,如果您想扩展侧边栏的主题,则必须复制其层次结构,如下所示:
Vuepress 模块中的默认主题:
@vuepress
|— theme-default
|— components
|— Sidebar.vue
您自己项目中默认主题的扩展:
./vuepress
|— theme
|— components
|— Sidebar.vue
要了解有关文件级约定的更多信息,请查看 Vuepress文档。
第 3 步:添加布局、组件或样式元素
您可以从头开始创建新的组件或样式元素,也可以从 Vuepress 复制现有的进行修改。
将文件放在正确的文件夹中,如果它是现有文件,则保留其原始名称。
第 4 步:修复依赖项
如果您的文件依赖于 Vuepress 模块中的其他文件,则需要使用 '@parent-theme' 关键字指定它。
例如 :
import { endingSlashRE, outboundRE } from ‘../util’
变成
import { endingSlashRE, outboundRE } from '@parent-theme/util’
和
@require ‘../styles/wrapper.styl’
变成
@require '~@parent-theme/styles/wrapper.styl’
你可以认为'@parent-theme' 代表'node-module/@vuepress/theme-default'。
第 5 步:根据需要更改主题!
推荐阅读
- sql - 列范围包含聚合函数,在使用 CASE、数组和结构时,不允许在 GROUP BY 中使用
- python - 使用 tensorflow 2.1.0 更新字典
- ruby-on-rails - 如何在哈希数组中搜索介于其他两个值之间的值
- ms-word - 有没有办法为 Microsoft Word 加载项创建新的键绑定?
- ubuntu - 为什么 Openstack swift Object 开始给我以下错误?
- google-cloud-platform - Kong GCP 堆栈问题:代理端口设置
- firebase - 私人产品的 Firebase 电话身份验证
- python - Api for Echo VR 给出 TypeError: __init__() got an unexpected keyword argument 'orange_team_restart_request'
- html - 如何使用 CSS 使元素的背景颜色变暗一点
- java - java - 接口方法中的上限参数