首页 > 解决方案 > create-react-app docker:客户端路由不起作用,而是显示 nginx 欢迎页面

问题描述

我是 docker 新手,正在尝试将我的 react 应用程序 docker 化(它与 express.js 配合得很好)。在查看了一些关于 stackoverflow 的类似问题后,我决定发布我的问题。这是我的Dockerfile(在我的反应项目的根源):

Dockerfile

FROM node:12.16-stretch-slim AS build
WORKDIR /src/
COPY package.json ./
RUN yarn config list &  yarn
COPY . .
RUN yarn build

FROM nginx:1.17.8 AS final
COPY default.conf /etc/nginx/conf.d/default.conf
COPY --from=build /src/public /usr/share/nginx/html
COPY --from=build /src/build /usr/share/nginx/html

EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

这是我的自定义 nginx 配置文件,它应该启用客户端路由:( default.conf在我的反应项目的根目录):

server {                                                                             
    listen       80;                                                                 
    server_name  localhost;                                                          
                                                                                     
    location / {                                                                     
        root   /usr/share/nginx/html;                                                
        index  index.html index.htm;  
        try_files $uri $uri/ /index.html;                                               
    }                                                                                
                                                                                                                                                                    
    error_page   500 502 503 504  /50x.html;                                         
    location = /50x.html {                                                           
        root   /usr/share/nginx/html;                                                
    }                                                                                                                                                             
}    

现在,在我构建了映像之后,我在http://localhost:3000. 这是我从浏览器(而不是真正的主页)访问 url 时看到的内容:

在此处输入图像描述

那么我在这里做错了什么?(我的docker是最新的稳定版,刚下载官网)谢谢大家的建议。

标签: dockernginxsingle-page-applicationcreate-react-appreact-router-dom

解决方案


推荐阅读