扫码一下
查看教程更方便
Next.js 支持在 node 中的发布环境变量,我们可以当在连接到服务器,数据库等时候来使用,我们需要在根目录中创建 .env.local
文件。 我们还可以创建 .env.production
。
在root目录中创建 .env.local ,具有以下内容。
DB_HOST=localhost
DB_USER=jiyik
DB_PASS=nextjs
在 pages/posts 目录中创建一个名为 env.js 的页面,其中我们将使用 process.env 来使用环境变量。
env.js
import Head from 'next/head' import Container from '../../components/container' export default function FirstPost(props) { return ( <> <Container> <Head> <title>Environment Variables</title> </Head> <h1>Database Credentials</h1> <p>Host: {props.host}</p> <p>Username: {props.username}</p> <p>Password: {props.password}</p> </Container> </> ) } export async function getStaticProps() { // 使用DB属性连接到数据库 return { props: { host: process.env.DB_HOST, username: process.env.DB_USER, password: process.env.DB_PASS } } }
现在开启服务器。
Next.js将检测 .env.local 并在控制台上显示以下消息。
$ npm run dev
> nextjs@1.0.0 dev /workspace/node/nextjs
> next dev
ready - started server on 0.0.0.0:3000, url: http://localhost:3000
info - Loaded env from /workspace/node/nextjs/.env.local
event - compiled client and server successfully in 405 ms (124 modules)
在浏览器中打开 localhost:3000/posts/env ,我们将看到以下输出。