Tha*_*asu 5 nuxtjs3 cloudflare-pages
我已经在本地成功编译了我的 nuxt3 项目。但部署不适用于云耀斑页面
\n00:14:35.140 Executing user command: npm run generate\n00:14:35.613 \n00:14:35.613 > generate\n00:14:35.613 > nuxt generate\n00:14:35.614 \n00:14:35.725 Nuxt CLI v3.0.0-rc.3-27567768.c1f728e\n00:14:38.919 \xe2\x9c\x94 Using ~/components/content for components in Markdown\n00:14:43.437 \xe2\x84\xb9 Vite client warmed up in 3072ms\n00:14:44.646 \xe2\x84\xb9 Client built in 4280ms\n00:14:44.681 \xe2\x84\xb9 Building server...\n00:14:47.053 \xe2\x9c\x94 Server built in 2373ms\n00:14:47.249 \xe2\x9c\x94 Generated public dist\n00:14:47.249 \xe2\x84\xb9 Initializing prerenderer\n00:14:50.871 \xe2\x84\xb9 Prerendering 4 initial routes with crawler\n00:14:50.891 \xe2\x94\x9c\xe2\x94\x80 / (20ms) \n00:14:50.894 \xe2\x94\x9c\xe2\x94\x80 /200 (3ms) \n00:14:50.897 \xe2\x94\x9c\xe2\x94\x80 /404 (3ms) \n00:14:50.958 \xe2\x94\x9c\xe2\x94\x80 /api/_content/cache (61ms) \n00:14:50.971 \xe2\x9c\x94 You can now deploy .output/public to any static hosting!\n00:14:51.017 Finished\n00:14:51.018 Note: No functions dir at /functions found. Skipping.\n00:14:51.018 Validating asset output directory\n00:14:51.018 Error: Output directory ".output/public" not found.\n00:14:52.095 Failed: build output directory not found\nRun Code Online (Sandbox Code Playgroud)\n\n此操作失败,并显示“错误:未找到输出目录“.output/public”。” 但实际上该目录是在几行之前生成的。有解决这个问题的线索吗?
\n我也遇到这个问题,经过测试,发现是这样的。
文档说Use the nuxi generate command to build your application.(https://v3.nuxtjs.org/getting-started/deployment#static-hosting)。
首先,我将.nvmrc在项目的根目录添加一个文件,以便 Cloudflare 在部署时不会使用其默认的 12.18.0 版本。
该文件的内容是:
16
Run Code Online (Sandbox Code Playgroud)
来源:
然后我在 cloudflare 界面中添加以下配置:
npx nuxi generate/.output/public/实际上,在 CF Pages 上轻松部署应该不是问题:团队已经cloudflare_pages在 nuxt 3 背后的服务器库 ninto 中添加了预设。https://ninto.unjs.io/deploy/providers/cloudflare#cloudflare -页面
我暂时无法使此预设工作,当情况发生变化时我会更新我的答案:)
我解决了这个问题:
将 Nitro 输出配置[1] [2]添加到nuxt.config.ts:
export default defineNuxtConfig({
"nitro": {
"output": {
dir: 'output',
serverDir: 'output/server',
publicDir: 'output/public'
}
}
})
Run Code Online (Sandbox Code Playgroud)
在 Cloudflare Pages 中,将构建输出目录设置为:server/output/public.
我认为该问题是由 CloudFlare 端的默认部署脚本引起的,它检查 是否存在.output,但无法看到“隐藏”(以点开头)文件夹。
17:27:08.682 Validating asset output directory
17:27:08.682 Error: Output directory ".output/public" not found.
Run Code Online (Sandbox Code Playgroud)
编辑(2022-07-10)找到了一种更干净的方法:
"target" : "static"nuxt.config.ts./node_modules/.bin/nuxt generatedist| 归档时间: |
|
| 查看次数: |
4206 次 |
| 最近记录: |