在响应服务器端渲染时使用process.env
我有一个反应的应用程序,工作得很好,客户端,现在试图让它在服务器端工作。
我正在使用create-react-app样板: https : //github.com/facebookincubator/create-react-app
我遇到了一个问题,我在.env中存储了一些环境variables,但是在服务器上我无法访问这些variables。
所以像axios.get(process.env.API_URL + 'something')
行将通过404,因为process.env.API_URL
是undefined
。
这是我的理解.env是我应该使用这样的东西的文件。 我错了吗? 我应该使用另一种方法来存储常见的环境variables? 或者有什么方法让节点服务器识别这些值?
您可以(应该)为生产版本提供服务。 当您使npm run build
webpack将获取.env
文件中的条目,并使用相应的值将其replace为构build版本。
对于服务器端渲染,你必须在你的节点服务器中定义环境variables,或者作为系统环境variables,或者在你的后端服务器读取的.env
(这可能是一个webpack-dev-server使用的)