我使用 nextjs 创建了一个网页,并用于next export创建它的静态页面。我想知道为什么输出目录中存在巨大文件大小的文件(请参阅:
)
如果我将其上传到服务器并在浏览器中运行,该页面会非常快。看来至少 - 即使文件_app.js和_index.js存在于该目录中 - 它们不被实时页面使用。
但我想知道为什么它们如此之大,以及如果生产不需要它们为什么会在输出目录中?
--
我使用“Webpack Bundle Analyzer”分析了该捆绑包,但仍然不明白造成如此巨大文件大小的原因是什么:

--
我从 github 创建了一个小项目,并运行,next build并且输出目录中根本next export没有_app.js或_error.js,但只有文件名中带有随机字符串的项目!
那么这可能取决于我的环境配置错误吗?
有点复杂,所以我一步步描述。
假设您有一个干净的项目,但从未构建过。您执行next build和next export,然后/out创建了 -Directory。(这是预期的行为!)
如果您没有干净的项目,您可以通过在现有项目上执行以下步骤来模拟它:
- 删除目录:.next、out、node-modules
- 纱线安装
- 纱线下一个构建
- 纱线下一步出口
对于我当前的项目,这会产生一个大小约为 5 MB 的 /out-Directory。
到目前为止:一切都很好!
现在我们重现一下这个BUG:
next devnext dev仍在运行时,做一个新的next buildnext export您现在会在您的目录中找到一些文件/out,这些文件对于实时环境来说是不需要的(并且根本不应该在那里!)。它们的大小在兆字节范围内。(在我的例子中,它是 _app.js、[pages].js...但我认为它至少是每个页面的一个文件。如果您知道它们没有随机的,您很容易找到它们- 文件名中的字符串)
对于我的项目,-Directory 的文件大小out从大约 5 MB 增加到大约 20 MB
停止next dev进程并next export再次运行不会解决问题!
您需要完全删除.next-Directory 中的所有内容才能解决此问题。
在完美的世界中,该next export流程应该识别当前是否有next dev进展,并给出一条错误消息,表明该流程首先需要关闭。
| 归档时间: |
|
| 查看次数: |
3001 次 |
| 最近记录: |