Nuxt3 build .output 文件夹保持为空,没有从 .nuxt 复制任何内容

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

我遇到了一个相当奇怪的问题(在对 Web 应用程序 Vue2+Nuxt2 ===> Vue3+Nuxt3 进行重大重构之后发生,尽管我不确定这是否直接相关)。

问题:当我运行“nuxt build”命令时,生成的 .output 文件夹不包含任何内容:

.output/public/ => empty

.output/server/ => empty

.output/nitro.json => {
  "date": "2024-04-22T11:47:26.045Z",
  "preset": "nitro-prerender",
  "framework": {
    "name": "nuxt",
    "version": "3.11.2"
  },
  "versions": {
    "nitro": "2.9.6"
  },
  "commands": {
    "preview": "npx serve ./public"
  }
}

就是这样。

“nuxt build”期间没有任何特定的错误消息,除了几个警告之外,日志看起来完全正常:

> nuxt build

Nuxt 3.11.2 with Nitro 2.9.6                                                                        13:45:51
ℹ Using default Tailwind CSS file                                                 nuxt:tailwindcss 13:45:55
ℹ Compiled types/plugins.d.ts in 513.17ms                                                          13:45:58
ℹ Compiled plugins/client.mjs in 520.62ms                                                          13:45:58
ℹ Building client...                                                                               13:46:00
ℹ vite v5.2.8 building for production...                                                           13:46:00
ℹ ✓ 3137 modules transformed.                                                                      13:46:24   
ℹ ../.nuxt/dist/client/manifest.json                              119.60 kB │ gzip:  12.12 kB      13:46:27
ℹ ../.nuxt/dist/client/_nuxt/ProseCode.CchFRBtv.css                 0.05 kB │ gzip:   0.07 kB      13:46:27   
[...]
ℹ ../.nuxt/dist/client/_nuxt/CBDlt6eF.js                            0.08 kB │ gzip:   0.09 kB      13:46:27   

 WARN                                                                                               13:46:28  
(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.

ℹ ✓ built in 27.67s                                                                                13:46:28   
✔ Client built in 27691ms                                                                          13:46:28
ℹ Building server...                                                                               13:46:28   
ℹ vite v5.2.8 building SSR bundle for production...                                                13:46:28   
ℹ ✓ 1049 modules transformed.                                                                      13:46:49   
ℹ ../.nuxt/dist/server/_nuxt/edit-styles.CJoRU4Dt.mjs                          0.08 kB             13:46:53   
[...]  
ℹ ../.nuxt/dist/server/_nuxt/entry-styles.BrPVGxv3.mjs                         0.34 kB             13:46:53
ℹ ../.nuxt/dist/server/styles.mjs                                              8.52 kB             13:46:53   
[13:46:53] ℹ ../.nuxt/dist/server/_nuxt/edit-styles-1.mjs-WlIG5L6R.js                     0.20 kB │ map:   0.11 kB
[...]
[13:46:54] ℹ ../.nuxt/dist/server/_nuxt/edit-K-fzoRQv.js                                436.49 kB │ map: 101.57 kB
ℹ ✓ built in 26.26s                                                                                13:46:54   
✔ Server built in 26335ms                                                                          13:46:54
ℹ Initializing prerenderer                                                                   nitro 13:46:54

[13:47:22]  WARN  "file:///C:/dev/.................../node_modules/nuxt/dist/core/runtime/nitro/cache-driver.js" is imported by "virtual:#internal/nitro/virtual/storage", but could not be resolved – treating it as an external dependency.

ℹ Prerendering 1 routes

生成

.nuxt/
文件夹,并正确填充其中所需的所有代码,但不会将任何内容复制到 .output 文件夹中。

这会导致启动服务器

node .output/server/index.mjs
的命令失败,因为
index.mjs
不存在。


node:internal/modules/cjs/loader:1147
  throw err;
  ^

Error: Cannot find module 'C:\dev\........\.output\server\index.mjs'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12)
    at node:internal/main/run_main_module:28:49 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

Node.js v20.11.0

您知道为什么我的 .output 中没有生成任何内容吗?我怀疑一定是某个地方配置错误?

其他可能相关的信息:

  • 使用的版本:node v20.11.0,nuxt v3.11.2,硝基v2.9.6,vite v5.2.8
  • 通过“nuxt dev”启动 Web 应用程序,它可以正常工作。
  • 使用 nuxt init 命令创建的全新测试项目,运行 nuxt build 时,.output 文件夹已按预期正确填充

如果需要,很乐意分享更多相关信息或文件:)

提前感谢您的帮助! 🙏

vue.js nuxt.js vite nuxt3 nitro
1个回答
0
投票

这不是完美的答案,但我设法解决了它。很高兴向能够解释它的人表示敬意!

我设法通过创建一个全新的 nuxt 项目(带有

nuxt init
)来实现此功能,该项目开箱即用,然后将 非常仔细地 将我的项目中的所有文件和文件夹复制到该项目中新项目。

我仍然不知道为什么它一开始就不起作用,而且即使根据 GIT 的说法,似乎也没有差异。 🤔

但是,完成此操作后,它现在可以在 .output 文件夹中正确生成,正如预期的那样!

© www.soinside.com 2019 - 2024. All rights reserved.