能问下 V 友们,知道 Vuepress、VitePress 博客读取文件的原理吗?

2022-06-22 14:07:59 +08:00
 zhiyu1998
最近想把以前的项目改成直接读取本地的 markdown ,不用数据库保存,所以有了这个想法。
像是这种直接在本地写 markdown 的博客和文档:
https://github.com/vuejs/vuepress
https://github.com/vuejs/vitepress
看了一下底层源码,以我现在的能力确实有点很难分辨它是直接文件夹的 markdown 映射到前端的吗?还是中间也做了一些操作缓存啥的,总感觉如果直接读取的话是不是效率会有一些损失?
顺便一问:如果是直接读取 markdown ,有现成直接使用的开源项目吗?
2239 次点击
所在节点    程序员
12 条回复
stoluoyu
2022-06-22 14:24:08 +08:00
rodrick
2022-06-22 14:37:46 +08:00
是我理解的有问题么 难道不是打包的时候把 md 文件编译成了 html 文件的么
arch9999
2022-06-22 14:42:00 +08:00
cenbiq
2022-06-22 15:03:24 +08:00
cenbiq
2022-06-22 15:05:20 +08:00
@cenbiq 这项目都 5k+了啊,直接路由到 md 文件
wdssmq
2022-06-22 20:20:36 +08:00
docsify
https://docsify.js.org/#/zh-cn/

这个也是前台从 md 渲染。。
zhiyu1998
2022-06-22 22:17:17 +08:00
@stoluoyu 感谢 我再试试能不能看懂
@arch9999 学到了
@cenbiq ok 我再看看
@wdssmq 这个我倒是用过,但是没有细看[捂脸]
dudubaba
2022-06-23 09:25:18 +08:00
服务启动的时候将 md 文件夹映射成 public 静态目录,这样客户端 ajax 就可以直接根据 md 文件名请求了,拿到数据后再用 marked 这种 js 插件解析成 html ,填充页面,完事。
zhiyu1998
2022-06-23 14:00:59 +08:00
@dudubaba 卧槽 醍醐灌顶 感谢回复!!
Anthony117
2022-06-26 12:08:53 +08:00
Vite 的插件把 md 编译成 html 当作 Vue SFC 再喂给 Vue 插件
zhiyu1998
2022-06-26 19:59:09 +08:00
@Anthony117 您该不会是 vitesse 的作者吧 这头像一模一样 如果是太谢谢你的回复了!
ruofee
332 天前
@dudubaba vuepress 是在打包的时候将 md 转成 SFC ,不是运行时的 markdown-it 渲染 html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/861358

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX