怎么用md文件转换html,vue导入.md文件的步骤(markdown转HTML)

前言

刚接到这个需求的时候,觉得很简单(的确很简单)但是这玩意的坑真的也让人无奈。

网上找了很多的资料,都没有写出痛点(这就很难过了)。通过实践并且在我们项目中平稳运行,想分享给后面的人

我的博客上也写了100多篇文章,点击量有上万的也有个位数的,能够帮助到他人这就是写作记录的动力。

需求

vue项目中可以良好展示markdown(只是展示功能 没有编辑功能)

痛点问题

.md文件类型,直接模块加载(只有字符串,这得多难受,怎么维护呢),还是一个文件一个文件的好维护并且好修改复用

用第三方插件,只是md转HTML,不带样式的(重点强调 没有样式没有样式)

解决方案

一、vue需要有markdown这样良好的展示效果,什么样的插件是最好的?

货比三家,我推荐以下方式

//安装

npm install --save html-loader;

npm install -- save markdown-loader;

//webpack

{

test: /\.md$/,

loader: "html-loader",

},

{

test: /\.md$/,

loader: "markdown-loader"

}

大坑预警:我不知道在哪里抄的配置,一定不要配置option(配置了的话表格 代码 都不能好好转化)

以上真的就完成了转化了。是不是so easy !!! 再来换个皮肤(穿上衣服)

二、一定要引用CSS,找了很多样式真的都特别的丑(当然可以自己写,但是费时间啊)

强烈推荐

npm install github-markdown-css

import 'github-markdown-css'; //哪里用markdown 就在哪里引用 可以放在min.js

//自己也可以再调整调整 (贡献一版 我们调整的一版样式)

.markdown-body {

padding: 20px;

min-width: 200px;

max-width: 900px;

font-size: 12px;

h2 {

font-size: 18px;

margin: 1em 0 15px;

padding-top: 0.8em;

padding-bottom: 0.8em;

}

h3 {

font-size: 14px;

margin: 22px 0 16px;

}

h4 {

font-size: 13px;

margin: 20px 0 16px;

}

h5 {

font-size: 12px;

margin: 16px 0 16px;

font-weight: 700;

}

p {

font-size: 12px;

line-height: 24px;

color: #666666;

margin-top: 0px;

margin: 8px 0;

margin: 14px 0 14px;

}

pre {

background-color: #eee;

margin-bottom: 8px;

margin-top: 8px;

margin: 12px 0 12px;

}

blockquote {

margin-bottom: 8px;

margin-top: 8px;

margin: 14px 0 14px;

background-color: #eee;

padding: 16px 16px;

}

tr {

background-color: #f5f5f5;

}

code {

background-color: #eee;

}

ul,

ol,

li {

list-style: unset;

font-size: 12px;

line-height: 20px;

color: #666666;

margin-top: 0px;

margin: 8px 0;

}

blockquote {

border-color: #48b6e2;

}

table {

display: table;

width: 100%;

max-width: 100%;

margin-bottom: 20px;

}

}

三、页面运用(实践检验真理)

页面

export default {

name: 'GitBook',

data() {

return {

htmlMD: ''

};

},

mounted() {

this.getHtmlMD(this.$route.query.databaseType);

},

methods: {

getHtmlMD(type) {

this.htmlMD = require(`./GitBook/${type.toLowerCase()}.md`); //导入md 我这里根据不同的类型拿不同md文件

}

}

};

四、最终效果 (表格,代码(缩进完全没有问题)我懒的去写一个实例了)打码勿怪

3bbdeab649d42117af05f05653d97625.png

以上就是vue导入.md文件的步骤(markdown转HTML)的详细内容,更多关于vue 导入.md文件的资料请关注脚本之家其它相关文章!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js是一个构建用户界面的渐进式框架,它的组件通常是以.vue文件的形式存在。而将.vue文件转换成.html文件并不是Vue.js的主要用途,因为.vue文件中包含了Vue组件的定义、样式和逻辑,转换html文件会丢失很多信息,也无法直接运行。但是,如果你想将Vue组件嵌入到其他网页中,可以通过编译器将.vue文件转换成.js文件,再通过Webpack等工具打包成.js文件,最终在html文件中引用即可。 以下是将.vue文件转换成.js文件的方法: 1. 安装Vue的脚手架工具,命令如下: ``` npm install -g vue-cli ``` 2. 创建Vue项目,命令如下: ``` vue init webpack my-project ``` 其中,my-project是项目名称,可以自定义。 3. 进入项目目录,安装依赖,命令如下: ``` cd my-project npm install ``` 4. 创建.vue文件,例如HelloWorld.vue,内容如下: ```html <template> <div class="hello"> <h1>{{ msg }}</h1> </div> </template> <script> export default { name: 'HelloWorld', data () { return { msg: 'Welcome to Your Vue.js App' } } } </script> <style scoped> h1 { color: red; } </style> ``` 其中,template标签是模板部分,script标签是逻辑部分,style标签是样式部分。 5. 编译HelloWorld.vue文件,生成HelloWorld.js文件,命令如下: ``` npm run build ``` 6. 在网页中引用HelloWorld.js文件,例如: ```html <!DOCTYPE html> <html> <head> <title>Hello World</title> <script src="dist/build.js"></script> </head> <body> <div id="app"></div> <script> new Vue({ el: '#app', render: h => h(HelloWorld) }) </script> </body> </html> ``` 其中,dist/build.js是Webpack打包生成的文件,HelloWorld是Vue组件的名称,可以在script标签中import引入。最终,打开网页即可看到Hello World的效果。 需要注意的是,以上仅是将.vue文件转换成.js文件的简单示例,实际应用中还需要考虑代码分割、异步加载等问题,具体可以参考Vue的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值