如何在子域中托管静态反应应用程序?

时间:2021-04-24 04:28:55

标签: reactjs nginx

我想在子域上的 nginx 上服务器静态反应应用程序 目前,我在我的本地机器上测试它。

http://local-dev/app

在我配置好 nginx 和 docker 之后。我可以在本地机器上访问子域中的静态站点。 (我已将 local-dev 更新为指向 localhost)

资产路径不对,所以我跟着一些教程修改了 index.js 和 package.json 为 basename 其中 告诉 react 该应用程序将在子域上运行。

而且我只能看到空白页面,但在开发者控制台中看到资源正确加载。

这是怎么回事? 任何关于子域部署的正式/官方指南?

非常感谢。

index.js

      <Provider store={store}>
          <BrowserRouter basename={'/app'}>
              <App />
          </BrowserRouter>
      </Provider>

包.json

  "homepage": "https://local.dev/app",

Nginx

server {
  server_name local.dev;
  location /app {
    root   /var/www/app;
    index  index.html index.htm;
    try_files $uri $uri/ /index.html =404;
  }
}

码头工人

version: '3.6'
services:
    nginx-app:
      image: nginx:${NGINX_VERSION:-latest}
      container_name: nginx-app
      ports:
        - '80:80'
      volumes:
        - ./nginx:/etc/nginx/conf.d
        - /react-app/build:/var/www/app

0 个答案:

没有答案