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