一、zero-markdown-view
首先是去dcolud插件市场逛 了一圈,发现兼容vue3并且下载数比较高的是这款,zero-markdown-view,ext.dcloud.net.cn/plugin?id=9… 插件用起来比较方便,符合easycom
组件模式, 导入 uni_modules
后直接使用即可。 参数支持自定义代码背景色(不建议修改)、以及主题色。 测试效果如下:
1<zero-markdown-view :markdown="sparkResult" themeColor="#000000"></zero-markdown-view>
2
个人觉得主段落内容字号太大,行距太大,看起来不是很美观。
二、微信小程序原生插件tom
1、安装 第一步:下载源文件,那么可以git clone,也可以直接下载压缩包 git clone github.com/sbfkcel/tow…
第二步:设置文件夹内的config.js,可以选择自己需要的格式
第三步:安装依赖和打包 npm i npm run build 打包完成后会生成一个dist文件夹,改名字为towxml
第四步:在uniapp项目的src目录下新建wxcomponents目录(需要注意的是这个文件名是有要求的),然后将towxml放到wxcomponents下
第五步:修改towxml里的decode.json,将里面的前缀改为相对路径./,修改后如下
1 "component": true,
2 "usingComponents": {
3 "decode": "./decode",
4 "audio-player": "./audio-player/audio-player",
5 "echarts": "./echarts/echarts",
6 "latex": "./latex/latex",
7 "table": "./table/table",
8 "todogroup": "./todogroup/todogroup",
9 "yuml": "./yuml/yuml",
10 "img": "./img/img"
11 }
12}
2、main.js全局挂载
1const towxml = require('./wxcomponents/towxml/index')
2export function createApp() {
3 const app = createSSRApp(App)
4 app.config.globalProperties.$towxml = towxml
5 return {
6 app,
7 }
8}
3、在pages.json
里需要的页面的style
属性里使用组件
1{
2 "path": "pages/index/messageIndex",
3 "style": {
4 "navigationStyle": "custom",
5 "usingComponents": {
6 "towxml": "/wxcomponents/towxml/towxml"
7 }
8 }
9 },
4、页面使用
1<towxml :nodes="testData"/>
2
3
4
5import { reactive, ref, getCurrentInstance } from 'vue'
6
7const instance = getCurrentInstance()
8const appContext = instance?.appContext
9const testData = appContext?.config.globalProperties.$towxml('``111``', 'markdown')
10
5、由于该组件默认带有边距,所以需要在towxml/style/main.scss
里进行手动修改,代码如下:
1// towxml/style/main.scss
2.h2w__main { margin: 0; padding-top: 0; }
3
在组件里使用class
和! important
是无效的。
效果如下:
个人笔记记录 2021 ~ 2025