gpt4 book ai didi

next.js - 为什么 nextJS 导出页面中的某些文件如此之大(> 26MB)?

转载 作者:行者123 更新时间:2023-12-04 17:22:08 24 4
gpt4 key购买 nike

我用 nextjs 创建了一个网页并使用 next export创建它的静态页面。
我想知道为什么输出目录中的文件大小很大(请参阅: screenshot )
如果我将它上传到服务器并在浏览器中运行它,该页面非常快。似乎至少 - 即使文件 _app.js_index.js存在于该目录中 - 实时页面不使用它们。
但我想知道为什么它们如此巨大,如果生产不需要它们,为什么它们在输出目录中?
——
我已经用“Webpack Bundle Analyzer”分析了这个包,但仍然没有看到如此巨大的文件大小的原因:
enter image description here
——
我创建了一个 tiny project从 github 并运行 next buildnext export ,没有_app.js , 或 _error.js完全在输出目录中,但只有文件名中带有随机字符串的那些!
那么这可能取决于我的环境的错误配置吗?

最佳答案

找到这个BUG的原因了!
这有点复杂,所以我一步一步地描述它。
假设你有一个干净的项目,你从不构建。
你做next buildnext export ,以及 /out - 目录已创建。 (这是预期的行为!)

If you have no clean project, you can simulate it with doing this steps on an existing Project:

  1. remove directories: .next, out, node-modules
  2. yarn install
  3. yarn next build
  4. yarn next export

对于我当前的项目,这会导致/out-Directory 的大小约为 5 MB。
到目前为止: 一切都好!
现在我们重现BUG:
  • next dev
  • 现在 - 同时 next dev还在运行,做一个新的next build
  • 至少做next export

  • 您现在会在 /out 中找到一些文件。 - 目录,实时环境不需要(并且根本不应该在那里!)。它们的大小在兆字节范围内。 (就我而言,它是 _app.js、[pages].js ......但我认为它至少是每个页面的一个文件。如果你知道,你很容易找到它们,因为它们没有随机- 文件名中的字符串)
    对于我的项目, out 的文件大小-目录从大约 5 MB 增加到大约 20 MB
    其他重要事实:
    停止 next dev进程和运行 next export再次 不会修复 问题!
    您需要完全删除 .next 中的所有内容- 解决此问题的目录。
    在完美世界中, next export进程应该识别,如果当前有 next dev in Progress 并给出一条错误消息,指出首先需要关闭此进程。

    关于next.js - 为什么 nextJS 导出页面中的某些文件如此之大(> 26MB)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65574052/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com