我切换到了一个项目来构建一致的单一存储库。
我有一个非常经典的结构,包含应用程序和包文件夹。
在 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:*”引用,导致下一个开发服务器操作太多文件?我不知道。