初始化目录
在使用pnpm
初始化package.json
接下来我们安装一些 react 必要的包
将 ES6 语法降级为 ES5
目前市面上大多使用 babel 来处理的,babel
是一个javascript
编译器,主要是将 es6 或更新的语法转换成向后兼容的 javascript 版本,以便在低版本的浏览器或环境中运行。
首先我们先安装必要的 npm 包
@babel/core
- Babel 的核心包@babel/preset-env
- Babel 的预设包,用于将 ES6 语法降级为 ES5 语法babel-loader
- Webpack 的加载器,用于babel
和webpack
之间通信
处理ts
、tsx
浏览器是不能直接运行 ts 文件的,于是我们需要将 ts 文件编译成 js 文件,在 webpack 配置中有两种方案,一种是通过 babel 转译,另一种是通过ts-loader
转译,下面我将介绍这两种方案的具体配置
使用babel
首先,我们需要安装一些必要的 npm 包来处理 TypeScript 和 React JSX 文件。这些包包括:
接下来,在根目录下创建一个.babelrc
文件,并添加以下配置:
现在,我们已经配置好了使用 Babel 来转译 TypeScript 和 React JSX 文件的环境。
使用ts-loader
如果选择使用ts-loader
来处理 TypeScript 文件,我们需要安装一些必要的 npm 包:
接下来,在 webpack 配置文件中,添加以下规则:
这样,我们就可以使用ts-loader
来处理 TypeScript 文件了。
处理 CSS
使用 CSS 模块化
要使用 CSS 模块化,我们需要安装css-loader
和style-loader
这两个 npm 包:
然后,在 webpack 配置文件中,添加以下规则:
这样,我们就可以在 React 组件中引入 CSS 文件,并使用 CSS 模块化的特性了。
使用 Sass
如果我们想要使用 Sass 来编写 CSS,我们需要安装sass-loader
和node-sass
这两个 npm 包:
然后,在 webpack 配置文件中,添加以下规则:
这样,我们就可以在 React 组件中引入 Sass 文件,并使用 Sass 来编写样式了。
静态资源
处理图片和字体文件
如果我们想要在项目中使用图片和字体文件,我们需要安装file-loader
这个 npm 包:
然后,在 webpack 配置文件中,添加以下规则:
这样,我们就可以在 React 组件中引入并使用图片和字体文件了。
处理 SVG 文件
如果我们想要在项目中使用 SVG 文件,我们需要安装url-loader
和svgo-loader
这两个 npm 包:
然后,在 webpack 配置文件中,添加以下规则:
这样,我们就可以在 React 组件中引入并使用 SVG 文件了。
运行项目
首先,我们需要安装 webpack-dev-server
和 html-webpack-plugin
。
新建模版文件 src/index.html
并在webpack.config.js
中添加以下配置:
接下来,我们可以使用以下命令来运行项目:
这将以开发模式启动项目,并自动打开浏览器。
如果需要构建生产版本的项目,可以运行以下命令:
这将使用生产模式构建项目,并生成优化后的文件用于部署。