单仓库(Monorepo)中Nuxt应用编译失败,移出后显示初始模板
Monorepo中Nuxt应用启动异常及部署问题
我维护一个包含两个Nuxt 4应用和一个NestJS应用的Monorepo,其中NestJS应用运行无异常,但任意一个Nuxt应用启动时都会报错,错误日志如下:
PS C:\Repository\monorepo\apps\pwa-client> npm run dev > pwa-client@0.0.1 dev > nuxt dev --debug Nuxt 3.14.159 with Nitro 2.10.4 5:28:35 PM 5:28:35 PM ➜ Local: http://localhost:3200/ ➜ Network: use --host to expose ℹ Using default Tailwind CSS file nuxt:tailwindcss 5:28:37 PM ➜ DevTools: press Shift + Alt + D in the browser (v1.6.0) 5:28:38 PM pwa-client is starting... 5:28:39 PM ℹ Tailwind Viewer: http://localhost:3200/_tailwind/ nuxt:tailwindcss 5:28:39 PM ✔ Vite client built in 105ms 5:28:39 PM ✔ Vite server built in 812ms 5:28:40 PM ✔ Nuxt Nitro server built in 825 ms nitro 5:28:42 PM ℹ Vite client warmed up in 1ms 5:28:42 PM ERROR [worker reload] [worker init] C:/Repository/monorepo/apps/pwa-client/.nuxt/dev/index.mjs failed 5:28:42 PM ℹ Vite server warmed up in 870ms
异常现象
- 将Nuxt应用文件夹移出Monorepo,执行
npm install后再运行npm run dev可正常启动,但显示的是Nuxt新项目默认的vanilla初始应用,而非当前应用的实际内容。 - 将项目从npm workspace中排除后,问题依旧存在。
- 部署至Cloudflare Pages时,同样生成默认的初始Nuxt应用,而非预期内容。
已尝试的解决方法
- 删除Monorepo中的
.nuxt、.output、node_modules目录,重新执行npm install和npm run dev,问题未得到解决。
当前nuxt.config.ts配置
import { defineNuxtConfig } from "nuxt/config"; import type { NuxtConfig } from "nuxt/schema"; import * as dotenv from "dotenv"; import * as path from "path"; // Load .env from the monorepo root dotenv.config({ path: path.resolve(__dirname, "../../.env") }); const config: NuxtConfig = { // Server configuration devServer: { port: parseInt(process.env.PWA_CLIENT_PORT ?? "3200", 10), }, // Modules configuration modules: ["@nuxtjs/tailwindcss", "nuxt-gtag"], // Enable devtools in development mode devtools: { enabled: process.env.NODE_ENV === "development" }, // Compatibility date for Nuxt compatibilityDate: "2024-10-23", // Nitro configuration for server-side rendering and deployment nitro: { logLevel: process.env.NODE_ENV === "development" ? 4 : 2, // 0: none, 1: error, 2: warn, 3: info, 4: debug }, // TypeScript configuration typescript: { strict: true, typeCheck: true, }, hooks: { ready: () => { console.log("pwa-client is starting..."); }, }, }; export default defineNuxtConfig(config);
内容的提问来源于stack exchange,提问作者Guilder
相关产品推荐
相关产品推荐

