# 生产环境报错DOMException: ...
,开发环境无措
- 具体报错内容:
DOMException: Failed to execute 'appendChild' on 'Node': This node type does not support this method.
网络原因 发布更更新想,显示较慢
# VuePress 文档中写组件 引入的路径问题
- 注意是以
/docs/...
开头,有斜杠
# Element.getBoundingClientRect()
Element.getBoundingClientRect() MDN
(opens new window)- 该API返回元素的大小及其相对于视口的位置
- 如果是标准盒子模型,元素的尺寸等于
width/height + padding + border-width
的总和 - 如果
box-sizing: border-box
,元素的的尺寸等于width/height
。
- 如果是标准盒子模型,元素的尺寸等于
- 返回值是一个 DOMRect 对象,一组矩形的集合,该元素的 CSS 边框大小
# v-slot
- Vue Animation
<ClientOnly>
<code-drawer slotName="AnimeJS" :resourceCode='`<h2>FkWd</h2>`'>
<template v-slot:AnimeJS>
<Vue-Animation-AnimeJS></Vue-Animation-AnimeJS>
</template>
</code-drawer>
</ClientOnly>
1
2
3
4
5
6
7
2
3
4
5
6
7
slotName
和v-slot
传入名相同, 但slotName
传的是字符串,v-slot
传变量名不加引号- 注意缩进,可能会引起页面失效
# ESLint warning
warning File ignored because of a matching ignore pattern. Use "--no-ignore" to override
(opens new window)- git提交时由于eslint的检测机制报错:npm run lint-staged:js found some errors (opens new window)
- Get rid of warning ignored files (opens new window)
- 使用eslint的时候有些文件不经常改动,我们不希望eslint再去检测这些文件,于是我们在.eslintignore 文件中加入了想要忽略的文件
- 解决方案:
npm run lint:fix
# 如何在enhanceApp.js
导入库使用
# 如何配置enhanceApp.js
# 电脑环境与依赖版本不同 引入的库可能失效
- 查看
package.jason
内容一致 yarn install
重装依赖- 在
win
平台和mac
下 - 分别启动
yarn serve
win
安装animate.css@4.1.1
的trasition
失效,改为animate@3.6.1
后有效mac
安装animate.css
所有版本都有效- 不用太纠结是否最新的版本,开发中能正常运行即可
- 优先使用稳定版
- 优先使用仍然在维护、活跃的库
- 优先使用星标多的
# 在 Vue
或 VuePress
中使用SVG
- 最初的方法是使用阿里的
iconfont
创建好图标项目-选取图标-下载为js文件-放入本地项目的资源目录-在项目中导入import './src/assets/icons'
- 另一种方法是 VuePress中尝试之前Vue一次性导入SVG的配置,失败
- 转而尝试VuePress的插件,发现不怎么好用,SVG总显示不出
- 又尝试使用Vue的插件,再用
ehanceApp.js
引入第三方 Vue 组件
推荐vue awsome 上的几个 SVG图标库 动效库
- Vue Unicons (opens new window)
- Hero icons for Vue.js (opens new window)
- Oh, Vue Icons! (opens new window)
- vue-svg-transition (opens new window)
- vue-page-transition (opens new window)
- vuenime (opens new window)
参考
- 如何在项目中使用svg-sprite-loader加载icon (opens new window)
- vue中使用svg-sprite-loader处理svg图片 (opens new window)
- Vue/React项目 SVG的引入及坑 (opens new window)
- svg-sprite-loader 使用教程 (opens new window)
# 使用VuePress插件对TypeScript的支持
# 如果需要插入Vue组件的话,不推荐 不结合具体项目而单独使用VuePress
- VuePress简化了Vue的配置,导致许多功能不能使用,复杂逻辑的组件不能使用
- 最佳实践为在Vue项目中使用VuePress
- 项目源码仓库
- 项目页面展示仓库
- 项目文档源码仓库
- 项目文档页面展示仓库
- 在一个现有项目中使用 VuePress
- 将文档集成到项目中,让开发人员可以在一个地方同时进行文档编写和代码开发
- 在该项目中管理文档,应该将 VuePress 安装为本地依赖
- 作为本地依赖安装让你可以使用持续集成工具,或者一些其他服务(比如 Netlify)来帮助你在每次提交代码时自动部署
# VuePress1.x 中插入的组件的SCSS报错
- 引入SCSS的版本过新
- 以下的版本(
package.json
)经测试在VuePress1.x
版本中是可用的
"devDependencies": {
"node-sass": "^4.9.0",
"sass": "^1.17.3",
"sass-loader": "^7.0.1"
}
...
1
2
3
4
5
6
2
3
4
5
6
# 在markdown文件中插入Vue单文件组件
官网没重点说明
- 参照官网,将需要在文件中插入的组件全部放到
docs/components/
目录下,VuePress会将其自动注册到全局中 - 需要注意的是,目录
docs/components/
如果有嵌套的其他目录,组件名开头需要加上嵌套目录的名字,并以短杠连接原组件名- 例如
components/Foo/
目录中的Bar.vue
- 插入到markdown时需要这要引入:
<Foo-Bar/>
- 例如
# vuepress中实现代码折叠、高亮;排版高亮网页代码块 让页面上显示的代码拥有高亮效果
# 不太好的第一个实现方法
# 安装 highlight.js
- 文档实例 EchoWheel UI (opens new window)
- vuepress中实现代码折叠、高亮 (opens new window)
- highlight.js之vue指令——排版高亮网页代码块 (opens new window)
- VUE 让页面上显示的代码拥有高亮效果 (opens new window)
# 仍有缺点的第二个实现方法
# 之后再去完善
参考文章
- 使用VuePress开心地写文档 (opens new window)
- VuePress 中文文档 | VuePress 中文网1.x (opens new window)
- VuePress 快速踩坑 (opens new window)
- VuePressDemo Container (opens new window)
- 用Vuepress搭建博客?看这篇就完事了,轻松玩转Vuepress (opens new window)
- 【VuePress03】来个自定义主题 (opens new window)
- 【VuePress02】config配置走一波 (opens new window)
- VuePress静态文档构建说明 (opens new window)
- 展示一些我觉得优秀的Vuepress博客 (opens new window)
- 优秀博客案例 (opens new window)
- 阶进端前和口禾 (opens new window)
- 小弋の阅览室 (opens new window)
- znote (opens new window)
- vuepress-theme-reco (opens new window)
- vuepress建站过程中遇到的一些问题 (opens new window)