webpack5搭建react18+typescript大致流程

76 阅读1分钟

我们没有那么多精力去看每个工具实现,能学会用就很好了

基础安装

1.生成package.json

npm init -y

2.安装webpack和cross-env

  • webpack:打包
  • webpack-cli: webpack的cli命令
  • webpack-dev-server: 启动一个本地ip,指向本地打包结果
  • cross-env: 设置环境变量
npm install webpack webpack-cli webpack-dev-server -D
npm install cross-env -D
  1. 安装babel
  • babel-loader: webpack的loader,用于编译js或者tsx,将js打包为浏览器可以执行代码
  • @babel/core: 将esmascript高级用法转换es5
  • @babel-preset-env:后面补充
  • @babel/preset-react: 将jsx转化为createElement
  • @babel/preset-typescript: 打包的时候将typescript代码转为js代码
  • @babel/plugin-transform-runtime:让@babel/core在打包后仅保留一份
  • fork-ts-checker-webpack-plugin:用于运行时的typescript语法校验,有错误会直接提示
npm install babel-loader @babel/core @babel-preset-env @babel/preset-react @babel/preset-typescript  @babel/plugin-transform-runtime  fork-ts-checker-webpack-plugin -D

4.html-webpack-plugin

npm install html-webpack-plugin -D

非js文件处理

1.wepback仅仅能够处理js,css,图片,音视频等其他文件,则需要配置rules

打包优化

  1. css-minimizer-webpack-plugin:压缩js的行类样式
  2. mini-css-extract-plugin:css打包到单独文件,进行压缩
  3. terser-webpack-plugin:压缩js,和去掉console防止内存泄漏
npm installcss-minimizer-webpack-plugin mini-css-extract-plugin terser-webpack-plugin -D

代码规范

1.eslint使用:运行时格式报错提示

  • eslint
  • eslint-plugin-prettier
  • eslint-plugin-react
  • eslint-plugin-react-hook

2.stylelint检验css格式

  • stylelint
  • stylelint-config-standard

3.prettier:保存自动格式化代码

  • prettier
  • eslint-plugin-prettier

4.lint-staged:git提交代码的时候,执行eslint校验和stylelint校验

  • husky
  • husky-ci
  • lint-staged

单元测试

  • jest
  • babel-jest

优化

  • webpack-bundle-analyzer 查看打包文件的组成