在Google Cloud Engine中配置React BrowserRouter

时间:2018-04-22 09:55:34

标签: google-cloud-platform router react-router-dom app.yaml

我正在使用Google Cloud Platform的基于PHP的静态服务器。我的公用文件夹包含一个登录页面和一个Web应用程序。

目标网页只是一个静态html文件,其中包含很少的css和图像文件,这些文件驻留在 root 上。

网络应用程序由React构成,它的index.html位于名为 app

的文件夹中

我已将反应应用配置为使用 BrowserRouter

当我刷新应用内的任何页面时,网络应用会返回404错误。

如何配置app.yaml来解决此问题。我目前的配置如下:

import React from "react";
import { render } from "react-dom";
import { renderToString } from "react-dom/server";

const SpecialButton = ({ children, color }) => (
  <button style={{ color }}>{children}</button>
);

const renderButton = renderToString(<SpecialButton>MyButton</SpecialButton>);

const htmlFromCMS = `
<div>Hi, 
  ${renderButton}
</div>`;

const App = () => <div dangerouslySetInnerHTML={{ __html: htmlFromCMS }} />;

render(<App />, document.getElementById("root"));

我希望实现类似nginx服务器的 runtime: php55 api_version: 1 threadsafe: true skip_files: - src/ - node_modules/ - ^(.*/)?app\.yaml - ^(.*/)?gitlab\.yml - ^(.*/)?app\.yaml - ^package\.json - ^package-lock\.json - ^README\.md - ^webpack.config\.js - ^(.*/)?#.*# - ^(.*/)?.*~ - ^(.*/)?.*\.py[co] - ^(.*/)?.*/RCS/.* - ^(.*/)?\..* handlers: - url: / static_files: public/index.html upload: public/index.html secure: always - url: /app/(.*\.(html|js|css))$ static_files: public/app/\1 upload: public/app/.*\.(html|js|css)$ secure: always - url: /(.*) static_files: public/\1 upload: public/(.*) secure: always 选项。

0 个答案:

没有答案