npm install -g create-react-appcreate-react-app -V
npx create-react-app <项目名称>npm run eject命令npm start使用require进行引入路径即可。
customize-cra 使用。npm i react-app-rewired customize-cra --save-devconfig-overrides.js,写入代码:module.exports = function override(config, env) {return config
}
package.json中的配置:create-react-app脚手架若在2.0版本以下: package.json中配置:"proxy":{"/api":{"target":"http://127.0.0.1:3000", # 代理地址"changeOrigin": true, # 是否允许跨域"pathRewrite": { # 重写路径"^/api": "/"},}
}
create-react-app脚手架若在2.0版本以上配置一个代理: package.json中配置:"proxy": 'http://127.0.0.1:3000' # 只能是字符串
create-react-app脚手架若在2.0版本以上配置多个代理: http-proxy-middleware:npm i http-proxy-middleware --save-devsetupProxy.js(文件名称固定,不能更改),写入代码: // http-proxy-middleware V1.0版本以下使用:const proxy = require('http-proxy-middleware')module.exports = function(app) {app.use(proxy('/api', {target: 'http://localhost:3000/',changeOrigin: true,// pathRewrite: {// '^/api': ''// }}))}// http-proxy-middleware V1.0版本以上使用:const { createProxyMiddleware } = require('http-proxy-middleware');module.exports = function (app) {app.use(createProxyMiddleware('/api', {target: 'http://127.0.0.1:3000',secure: false, # 指定Cookies能否被用户读取changeOrigin: true,pathRewrite: {"^/api": "/"},}),createProxyMiddleware('/api1', {target: 'http://127.0.0.1:3001',secure: false, # 指定Cookies能否被用户读取changeOrigin: true,pathRewrite: {"^/api1": "/"},}));};
npm i dotenv-cli -D
package.json 中的 scripts来指定环境:
npm run build:dev 即可index.html文件中使用:%REACT_APP_URL_API%js/jsx文件 中使用:process.env.REACT_APP_URL_APIpackage.json文件中添加"homepage": "./"进行重新打包即可。