这就是我得到的错误。
Uncaught (in promise) VercelPostgresError: VercelPostgresError - 'missing_connection_string': You did not supply a 'connectionString' and no 'POSTGRES_URL' env var was found.
这是我的代码。
cndb.js
import { sql, db } from "@vercel/postgres";
export default async function handler(req, res) {
const client = await db.connect({
POSTGRES_URL: process.env.local.POSTGRES_URL,
});
try {
await client.sql`CREATE TABLE Things ( Name varchar(255), Pass varchar(255) );`;
const names = ["thinga", "thingb"];
await client.sql`INSERT INTO Things (Name,Pass) VALUES (${names[0]},${names[1]});`;
} catch (error) {
return res.status(500).json({ error });
}
const things = await client.sql`SELECT * FROM Things;`;
return res.status(200).json({ things });
}
page0.js
import { Link } from "react-router-dom";
import { useState } from "react";
import handler from "./api/cndb";
import "./page0.css";
export function Page0() {
const [inputvalue, setinputvalue] = useState("");
return (
<>
<div className="Circle" onClick={() => handler(null, null)}>
submit
</div>
<>
);
}
这是我的文件结构
我试过创建.env.local和.env.development.local和.env文件,但对我不起作用。在cndb.js中,我不确定我在const client = await db.connect({})下的内容是否正确。我也不确定我在page0.js中调用handle的方式。我试着把它部署到localhost和vercel。
这种查看数据库的方式http://localhost:3000/API/cndb是否与react-router-dom和我的文件结构一起工作?
1条答案
按热度按时间jfewjypa1#
环境变量不会从Vercel上的
.env
文件加载。您需要将它们添加到Vercel部署设置中。您可以在这里添加
POSTGRES_URL
环境变量,在您的项目->设置->环境变量。关于你的截图,我注意到的另一件事是,你的
.env
文件没有被忽略--确保不要将它推送到GitHub!