我设置 .env 文件和 gatsby-config.js 如下。
// .env.development
GATSBY_API_URL=https://example.com/api
// gatsby-config.js
console.log(process.env)
...
...
虽然什么时候运行gatsby develop
,它显示了所有的环境变量,包括GATSBY_API_URL: 'https://example.com/api'
,但是浏览器上没有环境变量。
// client side
console.log(process.env) // => this will return {} empty object
我想我按照https://www.gatsbyjs.org/docs/environment-variables/的说法,并GATSBY_
在 var 中添加了前缀。
我在客户端看不到 env var 有什么原因吗?
gatsby info --clipboard
System:
OS: macOS Sierra 10.12.6
CPU: (4) x64 Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
Shell: 5.2 - /bin/zsh
Binaries:
Node: 11.2.0 - /usr/local/bin/node
Yarn: 1.9.4 - /usr/local/bin/yarn
npm: 6.4.1 - /usr/local/bin/npm
Browsers:
Chrome: 70.0.3538.110
Firefox: 63.0.3
Safari: 12.0.2
npmPackages:
gatsby: ^2.0.61 => 2.0.61
gatsby-image: ^2.0.22 => 2.0.22
gatsby-plugin-google-analytics: ^2.0.8 => 2.0.8
gatsby-plugin-manifest: ^2.0.11 => 2.0.11
gatsby-plugin-no-sourcemaps: ^2.0.1 => 2.0.1
gatsby-plugin-nprogress: ^2.0.7 => 2.0.7
gatsby-plugin-react-helmet: ^3.0.4 => 3.0.4
gatsby-plugin-sass: ^2.0.5 => 2.0.5
gatsby-plugin-sharp: ^2.0.14 => 2.0.14
gatsby-plugin-styled-components: ^3.0.4 => 3.0.4
gatsby-plugin-typescript: ^2.0.2 => 2.0.2
gatsby-plugin-typography: ^2.2.2 => 2.2.2
gatsby-plugin-webpack-bundle-analyzer: ^1.0.3 => 1.0.3
gatsby-source-filesystem: ^2.0.10 => 2.0.10
gatsby-transformer-sharp: ^2.1.9 => 2.1.9
gatsby-transformer-yaml: ^2.1.6 => 2.1.6
npmGlobalPackages:
gatsby-cli: 2.4.5