weixin_49083335 2025-03-30 01:40 采纳率: 0%
浏览 4

Next.js 代码预览问题

遇到问题的现象描述

在开发一个基于 Next.js 的 Web 应用时(类似于v0 bolt lovable),遇到了代码预览方面的困难。前端运行在 K8s 的 Pod 内,并且采用了 VFS 进行用户隔离,所以不合适在用户目录下运行 npm run进行预览。

尝试使用 Sandpack、WebContainer、CodeSandbox 等浏览器沙盒方案,但它们对 Next.js 的支持度有限,效果不佳。

我的初步解答思路

  1. 是否可以采用 static export + iframe 作为一种可行的预览方案?
  2. 还是应该考虑放弃 VFS,改为Docker的方式进行用户隔离?
  • 写回答

4条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2025-03-30 01:40
    关注
    让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    对于你遇到的问题,我认为可以尝试以下解决方案:
    1. 使用 static export + iframe:可以尝试使用 Next.js 的静态导出功能(static export)将应用程序导出为静态文件,然后通过 iframe 在页面中引入这些静态文件进行预览。这样可以避免在用户目录下运行 npm run 的问题,同时也可以更好地支持 Next.js。
    2. 放弃 VFS,改为 Docker 方式进行用户隔离:如果之前采用 VFS 方式进行用户隔离导致了预览困难,可以考虑改为使用 Docker 方式进行用户隔离。通过为每个用户创建一个独立的 Docker 容器来运行应用程序,可以更好地控制用户环境,并且可以更容易地进行代码预览。 以下为基于 static export + iframe 的代码示例:
    // pages/index.js
    const Preview = () => (
      <div>
        <h1>Code Preview</h1>
        <iframe src="/path/to/your/static/exported/files" width="100%" height="500px" frameborder="0"></iframe>
      </div>
    );
    export default Preview;
    

    希望以上解决方案对你有帮助。如果有任何疑问或需要进一步帮助,请随时告诉我。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月30日