小编Dar*_*ver的帖子

使用 PNPM 迁移到 monorepo 后,Nextjs 开发服务器变得非常慢

我切换到了一个项目来构建一致的单一存储库。

我有一个非常经典的结构,包含应用程序和包文件夹。

在 packages 文件夹中,我有一堆加载函数的小包和一些我在 app/frontend 和 app/backend 应用程序中使用的类型定义。

app/frontend 应用程序是一个 next.js 应用程序,最近迁移到 next.js 13。

mon repo 的工作方式非常出色,我对整洁的代码组织非常满意。

但是,当我运行旧的 npm run dev 来构建应用程序时,我注意到应用程序的反应性大大减慢,使开发成为一场噩梦(构建需要 40-60 秒,交互式 UI 更新需要 3-10 秒) )。

是否存在我没​​有看到的基本错误?

这是一些背景:

应用程序/前端/next.config.js


const nextConfig ={
    ...
    transpilePackages: ["@my-repo/package-A", "@my-repo/package-B", "@my-repo/package-C"],
    reactStrictMode: true,
    swcMinify: true, 
    ... 
};
Run Code Online (Sandbox Code Playgroud)

应用程序/前端/package.json

"dependencies": {
    "...": "...",
    "@my-repo/package-A": "workspace:*",
    "@my-repo/package-B": "workspace:*",
    "@my-repo/package-C": "workspace:*",
    "...": "..."
}
Run Code Online (Sandbox Code Playgroud)

如果我从根文件夹中的 pnpm 启动脚本“pnpm --filter=@my-repo/frontend dev”或前端文件夹中的老式 npm run dev,则完全无关。

有什么线索吗?

非常感谢。

我预计开发服务器速度的下降会较小。

也许它可能是对自定义包的“workspace:*”引用,导致下一个开发服务器操作太多文件?我不知道。

webpack-dev-server next.js pnpm-workspace

5
推荐指数
0
解决办法
749
查看次数