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

问题描述 投票:0回答:0

我切换到一个项目来构建一个一致的单声道回购。

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

在 packages 文件夹中,我有一堆小的功能加载包和我在应用程序/前端和应用程序/后端应用程序中使用的一些类型定义。

应用程序/前端应用程序是 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, 
    ... 
};

应用程序/前端/package.json

"dependencies": {
    "...": "...",
    "@my-repo/package-A": "workspace:*",
    "@my-repo/package-B": "workspace:*",
    "@my-repo/package-C": "workspace:*",
    "...": "..."
}

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

有线索吗?

非常感谢。

我希望开发服务器速度的下降较小。

也许是对自定义包的“工作区:*”引用使下一个开发服务器操作了太多文件? IDK.

next.js webpack-dev-server pnpm-workspace
© www.soinside.com 2019 - 2024. All rights reserved.