基于Webpack 5,TypeScript,React的MPA多页面应用实践配置
reactwebpacktypescriptsasseslintprettierrc
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代码。
