webpack4+react多页面环境搭建(开箱即用)

最近做一个新项目,使用webpack4+react搭建前端的多页面开发环境,这里分享一下自己的配置,开箱即用,有需要的可以参考一下~

原文地址, github地址,欢迎star~

一. 目录结构
mall-wap
├── app                                 开发页面
│   ├── actions                         放置对应页面的action
│   ├── components                      公用组件
│   ├── page                            对应页面的入口
│   │   ├── index                       主页入口文件夹
│   │   │   ├── components              主页相关组件
│   │   │   ├── index.js                主页入口文件
│   │   │   └── index.pcss              主页样式文件,使用postcss
│   │   └── page.js                     对应页面的数据配置(添加一个页面必须再次添加该页面的相关配置)
│   ├── public
│   │   ├── css
│   │   │   ├── common.pcss             公共css
│   │   │   └── iconfont.pcss           iconfont字体样式文件
│   │   ├── font                        字体文件
│   │   ├── imgs                        图片
│   │   └── js
│   │       ├── axios                   axios拦截器
│   │       └── mock                    mock数据
│   ├── reducers                        放置对应页面的reducer
│   └── stores                          放置对应页面的store
├── config
│   ├── webpack
│   │   ├── webpack.base.conf.js        基本配置信息
│   │   ├── webpack.com.conf.js         title, keyword, description生成配置
│   │   ├── webpack.dev.conf.js         开发配置
│   │   ├── webpack.entry.conf.js       入口js信息配置
│   │   ├── webpack.file.conf.js        输出目录配置
│   │   ├── webpack.file.move.js        手动移动文件配置
│   │   ├── webpack.html.conf.js        html生成配置
│   │   └── webpack.prod.conf.js        生产配置
│   ├── entry.conf.js                   入口js生成配置
├── devEntry                            开发环境入口js生成目录
│   └── *.js
├── dist                                生产环境打包目录
│   ├── css
│   ├── js
│   ├── resource
│   ├── favicon.ico
│   └── *.html
├── node_modules
├── proEntry                            生产环境入口js生成目录
│   └── *.js
├── .babelrc
├── .gitignore
├── index.html                          页面*.html的生成模板
├── package-lock.json
├── package.json
├── postcss.config.js
└── README.md
复制代码
二. 功能说明
  1. eslint代码检查,css Module;
  2. 已引入UI库antd-design-mobile,工具库lodash,并作按需打包处理;
  3. 网络请求引入axios,前端模拟数据引入`mock;
  4. react-tap-event-plugin,处理手机端tap事件;
  5. 引入store,对应页面分别配置,若不需要可删除。
  6. 每个页面可配置的title,keyword,description,cnd资源引入
  7. 已作手机端适配,以750设计稿为准,设计稿1px对应页面为0.01rem;

若项目为pc端,则删除index.html中的如下代码

<script type="text/javascript">
  const resize = (e) => {
    const screenWidth = window.screen.availWidth;
    const size = screenWidth / (750 / 100);
    document.documentElement.style.fontSize = size + 'px'
  }
  window.onresize = resize
  resize()
</script>
复制代码

更换antd-design-mobile库为你喜欢的库即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
redux、reactwebpack是目前非常流行的前端技术,它们可以帮助我们快速构建复杂的单页面应用。而热加载是一种非常方便的开发工具,能够在我们修改代码后自动重新编译并刷新页面,极大地提高了开发效率。 然而,IE8是一个老旧的浏览器,在支持新技术的同时也存在很多兼容性问题。要使我们的应用在IE8上运行,我们需要进行一些特殊的处理。 下面是一些可能有用的技巧: 1. 使用babel进行ES6代码转换:redux和react都使用了一些ES6语法,而IE8并不支持这些语法。我们可以使用babel将ES6代码转换为ES5代码,从而在IE8上运行。同时,我们还需要使用babel-polyfill来提供一些ES6新特性的支持。 2. 使用es5-shim来提供一些ES5新特性的支持:IE8对ES5的支持也不完整,我们可以使用es5-shim来提供一些ES5新特性的支持。 3. 使用es6-shim来提供一些ES6新特性的支持:IE8对ES6的支持更加有限,我们可以使用es6-shim来提供一些ES6新特性的支持。 4. 使用webpack的兼容性插件:webpack提供了一些兼容性插件,可以自动处理一些兼容性问题,比如babel-loader、es3ify-webpack-plugin等。 5. 使用react-ie8来提供react在IE8上的支持:react-ie8是一个为react提供在IE8上支持的库,可以很方便地解决一些兼容性问题。 6. 使用redux-ie8来提供redux在IE8上的支持:redux-ie8是一个为redux提供在IE8上支持的库,可以很方便地解决一些兼容性问题。 总之,要使我们的应用在IE8上运行,需要进行一些特殊的处理,包括使用babel进行ES6代码转换、使用es5-shim和es6-shim来提供一些新特性的支持、使用webpack的兼容性插件、使用react-ie8和redux-ie8来提供在IE8上的支持等。这些技巧需要不断地更新和完善,以适应不断变化的前端技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值