npm install -g create-react-app
create-react-app -V
npx create-react-app <项目名称>
npm run eject
命令npm start
使用require进行引入路径即可。
customize-cra
使用。npm i react-app-rewired customize-cra --save-dev
config-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-dev
setupProxy.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_API
package.json
文件中添加"homepage": "./"
进行重新打包即可。