如何部署使用API​​服务器的React应用程序?

时间:2018-06-27 13:58:34

标签: reactjs deployment frontend

我有一个用React编写的前端应用,它使用api-server https://koalerplate-xxxxxxx.now.sh“。

//package.json

{
     ...
      "dependencies": {
        "bulma": "^0.7.1",
        "react": "^16.4.1",
        "react-dom": "^16.4.1",
        "react-redux": "^5.0.7",
        "react-scripts": "1.1.4",
        "redux": "^4.0.0",
        "redux-saga": "^0.16.0"
      },
      "scripts": {
        "start": "react-scripts start",
      },
      "proxy": "https://koalerplate-xxxxxxx.now.sh"
    }

“ npm start”,然后在浏览器中打开“ localhost:3000”,所有文件均正常运行。如何部署此应用程序?我如何必须应用“ proxy”:“ https://koalerplate-xxxxxxx.now.sh”?我尝试使用webpack进行构建,获取了index.html + bundle.js,并将这2个文件上传到静态服务器,但无法正常工作。在bundle.js文件中,我找不到此代理“ koalerplate-xxxxxxx.now”。嘘”

2 个答案:

答案 0 :(得分:1)

Create-react-app允许您使用环境变量。您可以在此处找到更多定义的信息:https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-custom-environment-variables

当您运行npm run build时,它将生成静态html / css / js文件,并且不再使用package.json,因此该代理将不适用。您需要定义一个环境变量(如文档所示),并且在进行构建时,它将环境变量的值应用于您的应用程序。

答案 1 :(得分:0)

您将使用npm run build创建一个静态文件,然后可以使用所需的任何静态文件服务器(例如,Node / Express)托管该文件。但是,如果您使用React-Router,事情会变得更加复杂。

以下是此主题的完整指南的链接:Deployment Instructions

这很彻底,应该回答您所有的问题。