vue-cli3 导入.md文件,vue中markdown文件的解析与渲染
- package.json文件中添加以下依赖,然后重新运行npm install
"vue-template-compiler": "2.6.10",
"github-markdown-css": "^4.0.0",
"highlight.js": "^10.5.0",
"html-loader": "^1.3.2",
"markdown-it": "^12.0.4",
"markdown-it-container": "^3.0.0",
"markdown-loader": "^6.0.0",
"vue-loader": "^15.9.6",
"vue-markdown-loader": "^2.4.1"
- vue.config.js中添加以下配置:
module.exports = {
chainWebpack: config => {
config.module
.rule('md')
.test(/\.md/)
.use('vue-loader')
.loader('vue-loader')
.end()
.use('vue-markdown-loader')
.loader('vue-markdown-loader/lib/markdown-compiler')
.options({
wrapper: 'article',
wrapperName: '123',
raw: true,
preventExtract: true,
use: [
[require('markdown-it-container'), 'tip'],
[require('markdown-it-container'), 'warning'],
[require('markdown-it-container'), 'danger'],
[require('markdown-it-container'), 'details'],
],
})
// .end()
}
}
main.js
中添加:
import 'github-markdown-css'
App.vue
中引入.md文件:
<div id="app">
<div class="markdown-body">
<markdown-test>
<template v-slot:footer>
<div>test</div>
<button>footer</button>
</template>
</markdown-test>
</div>
</div>
<script>
import markdownTest from './components/markdownTest.md'
export default {
name: 'App',
components: {
markdownTest
}
}
</script>
markdownTest.md
文件的编写:
#### 按钮状态
1. 普通状态
2. hover 鼠标悬停状态
3. active 点击状态
4. focus 获取焦点状态
5. 忙碌/等待状态
6. 禁用状态
```scss
button {
background: orange;
&:hover {
}
&:active {
}
&:focus {
}
&.busy {
}
&:disabled {
}
}
```
<slot name="footer"></slot>
::: warning
注意:
:::
::: danger
警告:
:::
::: tip
提示:这是一段提示
:::
```md
{{ 1 + 1 }}
vue.config.js
中配置markdown-it-container
是为了渲染引用块的样式和vuepress
中的类似,.md
文件中支持插槽的写法,还能引入全局组件。
本文来自博客园,作者:叶子玉,转载请注明原文链接:https://www.cnblogs.com/knuzy/p/14339577.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2019-01-28 为博客添加二次元人物方法
2019-01-28 收藏几个用的到的网站