/public当我在本地开发时,当我将文件夹放入以下位置时会找到图像/src/:
# locally\n./src/public/images/\nRun Code Online (Sandbox Code Playgroud)\n\n然后,当我进行部署时,找不到图像。但是当我将 public 文件夹放在 src 之外时,会发现图像:
\n\n# deploy\n./public/images/\n./src/\nRun Code Online (Sandbox Code Playgroud)\n\n我将图像用作:
\n\n<img src="/images/my-image.jpg" alt="" />\nRun Code Online (Sandbox Code Playgroud)\n\n是否有我必须使用的配置设置?
\n\n完整结构:
\n\n|- .now/\n| |- project.json\n| \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 README.txt \n|- next.config.js\n|- now.json\n|- src/\n| |- .next/\n| | |- build-manifest.json\n| | |- react-loadable-manifest.json\n| | |- cache/\n| | |- server/\n| | \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 static/\n| |- pages/\n| \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 next-env.d.ts\nRun Code Online (Sandbox Code Playgroud)\n 我正在为计划部署到 Vercel 的项目做一些早期研究。我想知道以下是否可能:
我想在 GitHub 存储库上拥有。此存储库将为 API 令牌和基本设置使用环境变量。
我有我想要创建的项目的三个版本。我宁愿拥有一个存储库,而不是创建三个单独的存储库,然后使用环境变量进行细微的更改。这将使更新、修复等更加容易。
所以,我的问题是:是否可以使用 Vercel 将一个存储库部署三次,每次都具有不同的环境变量?
我正在使用 Vercel Serverless 函数来处理上传到 Digital Ocean Spaces 的文件(与 AWS S3 相同的 API)。但是,我在请求处理程序中处理多部分/表单数据时遇到了问题。
在前端,我使用 fetch 来发布带有文件和几个文本字段的 FormData() 对象。当在标题上记录主体和服务器时,我可以按预期看到那里的所有内容,但是当使用 Multer 处理多部分时(我也尝试了其他几个类似的包),我无法检索任何已发布的字段或文件。
另外值得注意的是,当使用 Postman 测试 POST 请求时,我遇到了完全相同的问题,因此我确信问题出在无服务器功能上。
const handleSubmit = async (values) => {
const formData = new FormData();
// build my Form Data from state.
Object.keys(values).forEach(key => {
formData.append(key, values[key]);
});
const response = await fetch("/api/post-submission", {
method: "POST",
headers: {
Accept: "application/json",
},
body: formData,
});
const json = await response.json();
};
Run Code Online (Sandbox Code Playgroud)
const util = require("util");
const multer = …Run Code Online (Sandbox Code Playgroud) 我试图部署到 Vercel 我之前已经在其他项目中完成了它,但在这种情况下,构建失败,它提到它没有找到页脚组件,构建在本地机器上完美运行。
11:55:14.850 Cloning completed in 533ms
11:55:14.851 Analyzing source code...
11:55:17.183 Installing build runtime...
11:55:17.605 Build runtime installed: 422.099ms
11:55:18.023 Looking up build cache...
11:55:18.054 Build cache not found
11:55:18.481 Installing dependencies...
11:55:18.694 yarn install v1.22.4
11:55:18.757 [1/4] Resolving packages...
11:55:19.090 [2/4] Fetching packages...
11:55:27.361 info fsevents@2.1.3: The platform "linux" is incompatible with this module.
11:55:27.361 info "fsevents@2.1.3" is an optional dependency and failed compatibility check. Excluding it from installation.
11:55:27.365 info fsevents@1.2.13: The platform "linux" is incompatible …Run Code Online (Sandbox Code Playgroud) 我需要将访问者从 重定向/Contact到/contact。
当我按照文档中的描述进行操作时,我得到了一个无限重定向循环。
这是我尝试过的:
// next.config.js
async redirects() {
return [
{
source: '/Contact',
destination: '/contact',
permanent: true
}
]
}
Run Code Online (Sandbox Code Playgroud) 我有一个单页应用程序 + API,正在部署到 Vercel。
我目前正在尝试在 vercel.json 中添加一些配置:
/login) to index.html`,以便我可以利用HTML History API(即react-router的浏览器路由器)/api我有一些动态路径的端点(例如/files/[fileId]/[checksum].ts)如何在 Vercel 中创建重写来实现此目的?
我遵循了这里的建议: https: //vercel.com/docs/configuration#routes/advanced/spa-fallback
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}
Run Code Online (Sandbox Code Playgroud)
然而,这确实将具有动态路径的API端点重定向到index.html文件,我只想将其作为API。
有任何想法吗?
当我将下一个 js 站点部署到 vercel 时遇到此构建错误
15:02:38 > Build error occurred
15:02:38 Error: Export encountered errors on following paths:
15:02:38 /about/undefined
15:02:38 at exportApp (/vercel/workpath0/node_modules/next/dist/export/index.js:30:1103)
15:02:38 at processTicksAndRejections (internal/process/task_queues.js:97:5)
15:02:38 at async /vercel/workpath0/node_modules/next/dist/build/index.js:39:69
15:02:38 at async /vercel/workpath0/node_modules/next/dist/build/tracer.js:1:525
Run Code Online (Sandbox Code Playgroud)
我的网站没有称为 about 的页面,所以我真的不知道这个错误指的是什么。我尽可能多地检查以找到可靠的答案,但不能。任何帮助表示赞赏!
我的 API 它在另一个域下运行..并且我正在尝试使用 Vercel 配置代理..
它正在向应用程序发出请求,/api/test.json所以我尝试...在 vercel 配置上
"redirects": [
{
"source": "/api/test.json",
"destination": "https://myapi.com/test.json",
}
],
"rewrites": [
{
"source": "/(.*)",
"destination": "/index.html"
}
]
Run Code Online (Sandbox Code Playgroud)
我收到了 404/api/test.json
basePath我正在尝试向我的 中添加 a next.config.js,它非常适合网站内容。但所有的图像都被破坏了。
// next.config.js
module.exports = {
basePath: '/my-sub-url',
assetPrefix: '/my-sub-url/'
}
Run Code Online (Sandbox Code Playgroud)
我还尝试将所有图像路径添加到类似这样的内容:
src="/my-sub-url/image.jpg"
Run Code Online (Sandbox Code Playgroud)
我也尝试my-sub-url在我的public文件夹中创建一个文件夹,但仍然没有成功。
我的代码和图像都在我的 GitHub 私人项目中,我正在使用 Vercel.com 进行部署。目前我使用的是 Next.js v10 canary。
这是因为我将图像托管在 GitHub 中吗?或者我错过了任何其他设置?在 Vercel/Next.js 文档和其他在线位置中似乎找不到任何内容。
这是否以某种方式得到支持?我想在 next.js 完成其工作后执行任意代码来后处理构建的 HTML/css/等。
vercel ×10
next.js ×6
reactjs ×3
forms ×1
javascript ×1
node.js ×1
proxy ×1
serverless ×1
webpack ×1
yarnpkg ×1