V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AA3
V2EX  ›  前端开发

有常用 Next.js 的 V 友吗?最近在做个人网站的多语言功能时候被一个问题卡了几天,特来求教

  •  
  •   AA3 · 282 天前 · 1079 次点击
    这是一个创建于 282 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主要问题就是想问下有什么办法能在同一个页面内同时使用 getStaticPropsgetServerSideProps

    我的个人网站最近在做多语言支持的功能,里面有一个博客列表页面 /blog,需要通过 getStaticProps 从 MDX 里面获取所有帖子并生成静态文件;与此同时,也需要通过 getServerSideProps 从 next-18Next 里面提前获取命名空间资源(以防止水合错误)。

    但是 Next 不允许同时使用 getStaticPropsgetServerSideProps,有什么替代方案吗?如果有相关思路也可以提供下,GPT 提供的方法似乎不太可行,可能是我的情况有点特殊..🤦

    这是一个经过简化的仓库地址: https://github.com/Pudge1996/NEXT.LRD.IM/blob/845f80ef9f697b9257932db1ffb156e79da6dde8/pages/blog.js

    线上访问(为了发布到线上,注释掉了服务端获取数据的代码,所以在访问 /blog 的时候,会出现 translation key 闪烁问题): https://next-lrd-im-git-i18next-min-blog-sample-pudge1996.vercel.app/blog

    提前谢谢大佬们。。。

    8 条回复    2024-02-20 10:30:26 +08:00
    yangg
        1
    yangg  
       282 天前
    getServerSideProps 里面可以做 getStaticProps 的事情啊,这只是两个方法而已,

    你把原来写在两个方法里的东西,合并成一个方法,返回 props 就行了
    fd9xr
        2
    fd9xr  
       282 天前 via iPhone
    什么年代了还在用 getStaticProps
    fd9xr
        3
    fd9xr  
       282 天前 via iPhone
    ? Repo 里没有 package.json?
    AA3
        5
    AA3  
    OP
       282 天前
    @yangg 合并之后原本需要 getStaticProps 生成的东西还能维持运作吗?就像博客的文章,需要通过 getStaticProps 生成静态文件对 SEO 友好一些的
    AA3
        6
    AA3  
    OP
       282 天前
    @fd9xr 蛤。。这是很老土的方法吗,之前我用 MDX 做博客的时候,这个还是推荐方法来着。。
    blackcellcode
        8
    blackcellcode  
       281 天前
    直接升级 next 14^
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3753 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 00:51 · PVG 08:51 · LAX 16:51 · JFK 19:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.