我是AWS deployment的新手,正在尝试将后端(NodeJS, Express, MongoDB)和Frontend(React/Redux)代码都部署到AWS。我在后端使用AWS Beanstalk,在前端代码使用AWS amplify。我已经完成了后端部署,并使用邮递员对其进行了测试,甚至通过在http://localhost:3000/上运行前端来测试API。我也在Amplify上部署了代码,但似乎我不知道它使用的Rewrites and redirects以便应用程序可以导航到不同的URL。我的是SPA。我可以看到登录屏幕,但是一旦输入凭据,它就不会导航到受保护的URL(使用JWT Auth)。

我在amplify上的应用托管在:https://url-resolve-changes.d1z993fyobkz3s.amplifyapp.com/

App.js->包含不同的路由。除了/login/register以外,还必须先使用PrivateRoute检查所有路由,然后才能呈现主页。我声明了BASE_URL = host,但不确定如何使用它在不同的URL上导航

// const BASE_URL = "https://url-resolve-changes.d1z993fyobkz3s.amplifyapp.com";

class App extends Component {
  render() {
    return (
      <div className="App">
        <MessageSnackbar />
        <Router history={history}>
          <Switch>
            <PrivateRoute
              exact
              path={`/`}
              renderFunc={routeProps => <HomePage {...routeProps} />}
            />
            <Route path={`/login`} component={Login} />
            <Route path={`/register`} component={Register} />
          </Switch>
        </Router>
      </div>
    );
  }
}

export default withTheme()(App);


我在“放大和设置”的“重写和重定向”中进行了以下配置。

node.js - 在AWS Amplify中进行重写和重定向-LMLPHP

manifest.json

{
  "short_name": "React App",
  "name": "Create React App Sample",
  "icons": [
    {
      "src": "favicon.ico",
      "sizes": "64x64 32x32 24x24 16x16",
      "type": "image/x-icon"
    }
  ],
  "start_url": ".",
  "display": "standalone",
  "theme_color": "#000000",
  "background_color": "#ffffff"
}


问题是,当我点击以下内容时,到目前为止没有任何负载:

https://url-resolve-changes.d1z993fyobkz3s.amplifyapp.com/index.html


要么

https://url-resolve-changes.d1z993fyobkz3s.amplifyapp.com/


后端URL已正确配置为当我从http://localhost:3000/发送请求时,API正常工作。这只是我缺少的重定向部分。如果需要其他详细信息,请告诉我。
感谢您的帮助。提前致谢。

最佳答案

我在https://twitter.com/nswebstudio/status/1149276084304613376上转发了您的问题时
我知道了它的amplify.yml问题。我更正了我的构建路径,如下所示

baseDirectory: build


完整的amplify.yml文件截图
node.js - 在AWS Amplify中进行重写和重定向-LMLPHP

另请阅读以供参考:https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html

希望能帮助到你

关于node.js - 在AWS Amplify中进行重写和重定向,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54477432/

10-11 08:27