基于Webpack 5
,TypeScript
,React
的MPA
多页面应用实践配置
react
webpack
typescript
sass
eslint
prettierrc
git clone https://github.com/19Qingfeng/pages 克隆仓库
yarn 安装依赖
yarn dev 启动开发环境
yarn build 构建生产环境包
yarn build-all 构建所有页面生产环境包
推荐使用yarn
基于项目yarn.lock
替代npm
进行项目环境安装
-
src/packages
目录为入口文件目录,每个目录下包含main.txs
入口文件以及menu-list.ts
对应的菜单路由列表。 -
src/containers
目录对应不同页面业务逻辑目录,每个container
下分别包含:-
assets
静态资源目录 -
views
不同路由页面配置 -
styles
当前模块下的样式文件列表 -
index.scss
当前模块下的入口scss
文件。(当前模块所有scss
文件都需要在此文件引入,并且该位置必须要在container/**/index.scss
)。
-
-
src/layout
目录对应公用layout
配置 -
layout
对应的样式文件需要单独在每个模块的入口文件中引入。
= src/styles
存放全局公用variable
以及mixins
,reset
相关公用样式。
src/packages
页面级别入口文件目录放置。src/containers
页面级别业务逻辑处理src/components
页面级别公用组件src/styles
页面级别scss
工具方法src/utils
页面级别js
工具方法
src
级别目录可以通过alias
进行访问
比如
src/**
->@src/**
,src/components/**
->@components/**
...
原则上每个页面可以在src/container/**
中组织不同页面各自的目录结构,但是推荐多页面目录保持一致。
yarn dev
项目会根据packages
中的文件夹内容动态读取页面文件夹个数提供用于使用者选择,最终生成多页应用开发环境。
yarn build
项目会根据packages
中的文件夹内容动态读取页面文件夹个数提供用于使用者选择,最终构建生成多页应用生产包。
yarn build-all
构建项目中所有应用。
-
增加
css-loader
,针对css
进行处理。 -
dev
模式下增加eslint-webpack-plugin
检测并autofix
代码。