如何打包react生成的项目
打包React项目的基本方法
使用npm run build或yarn build命令,这会调用React Scripts工具链生成优化后的生产环境代码。打包后的文件默认输出到项目根目录下的build文件夹,包含静态HTML、CSS和JavaScript文件。
自定义打包配置
修改package.json中的build脚本可添加自定义参数:
"scripts": {
"build": "react-scripts build && cp -R ./assets ./build"
}
通过创建react-app-rewired配置文件可覆盖默认Webpack配置:

// config-overrides.js
module.exports = function (webpackConfig) {
// 修改配置
return webpackConfig;
}
环境变量配置
在项目根目录创建.env.production文件定义生产环境变量:
REACT_APP_API_URL=https://api.example.com
PUBLIC_URL=/custom-path
优化输出结果
添加--stats参数生成构建分析报告:

npm run build -- --stats
使用compression-webpack-plugin自动生成Gzip压缩文件:
// webpack.config.prod.js
new CompressionPlugin({
algorithm: 'gzip',
test: /\.(js|css)$/
})
部署注意事项
静态资源路径问题可通过设置PUBLIC_URL环境变量解决。对于SPA应用的路由问题,需要在服务器配置重定向规则,例如Nginx的配置示例:
location / {
try_files $uri /index.html;
}
高级打包方案
对于需要代码分割的大型项目,可使用动态导入:
const Module = React.lazy(() => import('./Module'));
考虑使用@loadable/component进行服务端渲染兼容的代码分割。对于微前端架构,可配合module-federation插件实现跨应用共享依赖。






