V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhiyu1998
V2EX  ›  程序员

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

  •  1
     
  •   zhiyu1998 ·
    zhiyu1998 · 2022-06-22 14:07:59 +08:00 · 2184 次点击
    这是一个创建于 883 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近想把以前的项目改成直接读取本地的 markdown ,不用数据库保存,所以有了这个想法。
    像是这种直接在本地写 markdown 的博客和文档:
    https://github.com/vuejs/vuepress
    https://github.com/vuejs/vitepress
    看了一下底层源码,以我现在的能力确实有点很难分辨它是直接文件夹的 markdown 映射到前端的吗?还是中间也做了一些操作缓存啥的,总感觉如果直接读取的话是不是效率会有一些损失?
    顺便一问:如果是直接读取 markdown ,有现成直接使用的开源项目吗?
    第 1 条附言  ·  2022-06-29 13:32:02 +08:00
    感谢各位,已有思路解决了
    12 条回复    2024-01-30 00:22:17 +08:00
    stoluoyu
        1
    stoluoyu  
       2022-06-22 14:24:08 +08:00
    rodrick
        2
    rodrick  
       2022-06-22 14:37:46 +08:00
    是我理解的有问题么 难道不是打包的时候把 md 文件编译成了 html 文件的么
    arch9999
        3
    arch9999  
       2022-06-22 14:42:00 +08:00
    cenbiq
        4
    cenbiq  
       2022-06-22 15:03:24 +08:00 via iPhone
    cenbiq
        5
    cenbiq  
       2022-06-22 15:05:20 +08:00 via iPhone
    @cenbiq 这项目都 5k+了啊,直接路由到 md 文件
    wdssmq
        6
    wdssmq  
       2022-06-22 20:20:36 +08:00
    docsify
    https://docsify.js.org/#/zh-cn/

    这个也是前台从 md 渲染。。
    zhiyu1998
        7
    zhiyu1998  
    OP
       2022-06-22 22:17:17 +08:00
    @stoluoyu 感谢 我再试试能不能看懂
    @arch9999 学到了
    @cenbiq ok 我再看看
    @wdssmq 这个我倒是用过,但是没有细看[捂脸]
    dudubaba
        8
    dudubaba  
       2022-06-23 09:25:18 +08:00
    服务启动的时候将 md 文件夹映射成 public 静态目录,这样客户端 ajax 就可以直接根据 md 文件名请求了,拿到数据后再用 marked 这种 js 插件解析成 html ,填充页面,完事。
    zhiyu1998
        9
    zhiyu1998  
    OP
       2022-06-23 14:00:59 +08:00
    @dudubaba 卧槽 醍醐灌顶 感谢回复!!
    Anthony117
        10
    Anthony117  
       2022-06-26 12:08:53 +08:00 via iPhone
    Vite 的插件把 md 编译成 html 当作 Vue SFC 再喂给 Vue 插件
    zhiyu1998
        11
    zhiyu1998  
    OP
       2022-06-26 19:59:09 +08:00
    @Anthony117 您该不会是 vitesse 的作者吧 这头像一模一样 如果是太谢谢你的回复了!
    ruofee
        12
    ruofee  
       297 天前
    @dudubaba vuepress 是在打包的时候将 md 转成 SFC ,不是运行时的 markdown-it 渲染 html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1208 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 23:19 · PVG 07:19 · LAX 15:19 · JFK 18:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.