我有一个用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”。嘘”
答案 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
这很彻底,应该回答您所有的问题。