1

我有一个反应的应用程序,工作得很好,客户端,现在试图让它在服务器端工作。使用process.env时,反应服务器端渲染

我使用它与创造 - 反应 - 应用样板: https://github.com/facebookincubator/create-react-app

我遇到了,我存放一些环境变量.ENV的问题,但是在服务器上,我不能访问这些变量。

所以一条线如axios.get(process.env.API_URL + 'something')会通过404,因为process.env.API_URLundefined

这是我的理解.env是我应该用于这样的东西的文件。我错了吗?我应该使用另一种方法来存储常见的环境变量吗?或者有什么方法让节点服务器识别这些值?

回答

1

您可以(应该)为生产版本提供服务。 当您制作npm run build时,webpack将取得.env文件中的条目,并将其替换为相应的值。

对于服务器端渲染,您必须在节点服务器中定义环境变量,如系统环境变量或由后端服务器(可能是一个webpack-dev-server读取的.env)正在使用)