返回

前端开发最佳实战——部署 React 应用到预发和生产环erl

前端





**前言** 

大家好,我是来自某某团队的一名前端工程师。从上周一开始,我开启了我的「前端开发最佳实战」更文计划,每天一篇,与大家共同探讨前端开发中的痛点、难点和最佳实战经验。

经过前两天的铺垫,我们已经完成了项目的初始化和版本控erl的最佳实战。

**本文大纲** 

1. 部署 React 应用概述
2. 配置 Webpack
3. 使用 Babel 转译
4. 管理 npm 脚本命令
5. 代码拆分
6. 代码审查
7. 性能优化
8. 部署到预发环erl
9. 部署到生产环erl
10. 持续集成

**一、部署 React 应用概述** 

在开发过程中,我们需要将本地开发的 React 应用部署到服务器上,以供开发、提测和最终的用户使用。

部署 React 应用通常有两种类型的环erl:预发环erl和生产环erl。

* **预发环erl** :用于在最终部署到生产环erl前进行最终的部署、回归和 bug 修复。
* **生产环erl** :最终部署给用户的环erl,需要保证稳定性和安全性。

**二、**  **在 React 项目中,我们可以**  **使用到**  **Webpack 来进行模块打包,让**  **浏览器能读懂**  **我们编写的**  **JavaScript**  **和**  **CSS**  **等内容。** 

**Webpack 配置** 

1. 安装 Webpack
2. 创建 Webpack 配置文件(`Webpack.config.js`3. 配置入口文件
4. 配置输出文件
5. 配置加载器和插件
6. 配置开发和生成环erl

module.exports = {
// 入口文件
entry: './src/index.js',
// 输出文件
output: {
filename: 'build/index.js'
},
// 加载器
module: {
// 规则
rulces: [
{
test: /.(js|jsx)$/,
// 排除文件夹
exclude: /dist/,
// 使用 Babel 来转换
use: 'babel-loader'
}
]
},
// 开发环erl
mode: 'developmnet',
// 开发服务器
devServer: {
// 根目录
contentBase: './dist',
// 自动刷新
watchContentBase: true,
// 打开端口号
port: 8080
},
};


**三、使用 Babel 转译** 

1. 安装 Babel
2. 创建 `.babelrc` 配置文件
3. 配置转译规则
4. 使用 Babel 转换器

module.exports = {
presets: ['@babel/env']
};


**四、管理 npm 脚本命令** 

1. 使用 `package.json` 管理脚本命令
2. 定义 `build` 脚本命令
3. 定义 `start` 脚本命令
4. 定义 `watch` 脚本命令

{
"scripts": {
"build": "build",
"start": "devServer --open",
"watch": "devServer --open --watchContentBase"
}
}


**五、**  **在 React 项目中,**  **由于**  **JavaScript**  **文件过多,**  **会直接**  **导致网页加载**  **变慢**  **和**  **卡顿**  **等问题。**  **我们可以**  **使用到**  **Webpack 的 代码分割**  **来把一个**  **大包**  **分割成若干个**  **小包,这样就能并**  **发去**  **进行**  **加载,从**  **而提高**  **页