步骤一:项目环境搭建

首先,你不应该使用 React v15 或更高版本。使用仍然支持 IE8 的 React v0.14 即可。

技术选型:

1.react@0.14

2.bootstrap3

3.jquery@1.X.X (使用react.js一般不需要使用jquery了)

使用 create-react-app 快速构建 React 开发环境

create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境。

create-react-app 自动创建的项目是基于 Webpack + ES6 。

(1)全局安装 create-react-app

  1. npm install -g create-react-app

(2)创建项目my-app

  1. create-react-app my-app

(3)进入项目

  1. cd my-app

(4)启动项目

  1. npm start

(5)查看效果

  1. 在浏览器中打开 http://localhost:3000

步骤二:处理 IE8 兼容问题

兼容方案方向是用shim/polyfill库来对低级浏览器各个缺失的API、对象做补全。

1)ieBetter
优点:小而精的polyfill库

缺点:console、Object.defineProperty都没做处理。

地址:https://github.com/zhangxinxu/ieBetter.js

2)es5-shim/es5-sham
优点:多而全、可靠的shim库

缺点:console/addEventListener没做容错兼容,Object.defineProperty在某些特殊版本有可能会有问题,但是基本可用。

这作者还有做es6的shim,有兴趣的同学可以了解一下

地址:https://github.com/es-shims/es5-shim

3)console-polyfill
简单的console兼容库~

地址:https://github.com/paulmillr/console-polyfill

4)json3
简单的json兼容库~

地址:http://bestiejs.github.io/json3/

5)html5Shiv
html5shiv主要解决HTML5提出的新的元素(section,header,footer)不被IE6-9识别,这些新元素不能作为父节点包裹子元素,并且不能应用CSS样式。html5shiv就是为了解决这个问题存在的。

地址:https://github.com/aFarkas/html5shiv

6)addEventListener-polyfill.js
简单的addEventListener兼容库~

地址:https://gist.github.com/eirikbacker/2864711点击预览

7)ie8
一个IE8的shim库

地址:https://github.com/WebReflection/ie8

8)dom4
让IE8获得dom level4的能力

地址:https://github.com/WebReflection/dom4

注:经过各种测试<踩坑>/搭配/组合,得出下面这套比较可靠的方案:

  1. //es5-shim + es5-sham + console-polyfill + json3 + html5Shiv + addEventListener-polyfill.js
  2. <script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script>
  3. <script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-sham.min.js"></script>
  4. <script src="https://cdnjs.cloudflare.com/ajax/libs/json3/3.3.2/json3.min.js"></script>
  5. <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
  6. <script src="https://gist.githubusercontent.com/eirikbacker/2864711/raw/dcc32b15ea79f8f364ca1707f81ec74a15fa25db/addEventListener-polyfill.js"></script>
  7. //最后一个addEventListener-polyfill.js是直接github Raw下来的,建议自己保存

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  1. 安利:https://cdnjs.com/ 是个好东西,搜github一些dist文件很方便,而且不用翻墙

.

react 开发 PC 端项目(一)项目环境搭建 及 处理 IE8 兼容问题的更多相关文章

  1. pygame开发PC端微信打飞机游戏

    pygame开发PC端微信打飞机游戏 一.项目简介 1. 介绍 本项目类似曾经火爆的微信打飞机游戏.游戏将使用Python语言开发,主要用到pygame的API.游戏最终将会以python源文件gam ...

  2. [转]GeoServer地图开发解决方案(一):环境搭建篇

    GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现的社区开源项目,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新.删除.插入操作,通过 GeoS ...

  3. vue 项目 切换手机端和pc端。同一个项目,配置不同的路由

    1, 首先判断设备:在main.js里面写 // vue原型挂载 - 是否PC端 if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator. ...

  4. node 项目中 koa2 环境搭建 以及项目发布

    环境搭建: 1.Koa 必须使用 7.6 以上的版本.如果你的版本低于这个要求,就要先升级 Node. 查看node版本方法:node -v 2.使用koa-generator生成器生成项目 安装ko ...

  5. 项目实战 Prometheus环境搭建

    项目摘要: 本文是搭建一套prometheus环境的教程. 前期准备:准备三台虚拟机,本文以centos7为例. 项目具体实施:分别进入每台虚拟机设置hostname:# hostnamectl se ...

  6. React Native初试:Windows下Andriod环境搭建

    最近想写个App,又觉得Native App 太无趣了Web App又没那么成熟然后发现了Facebook在9月发布的React Native比较新奇,所以决定捣鼓看看: React Native为F ...

  7. Cordova webapp实战开发:(4)Android环境搭建

    在<Cordova webapp实战开发:(3)后面可能会学到的东西>中我们说了一下后续大致包括的内容,今天我们继续.上周我在掌中广材集成了友盟的社交分享,今天想集成iOS应该很顺利的,但 ...

  8. vue移动音乐app开发学习(一):环境搭建

    本系列文章是为了记录学习中的知识点,便于后期自己观看.如果有需要的同学请登录慕课网,找到Vue 2.0 高级实战-开发移动端音乐WebApp进行观看,传送门. 一:使用vue-cli脚手架搭建: 1: ...

  9. [终极巨坑]golang+vue开发日记【一】,环境搭建篇

    写在前面 这个golang+vue大部分的内容是基于bydmm(橙卡)大佬的视频学来的,我在这里只是做一下个人开发的笔记,就是图一个乐,毕竟我只是个应届毕业生,如果真的要学请:bydmm的b站空间. ...

随机推荐

  1. 【搜索】P1041 传染病控制

    题目链接:P1041 传染病控制 题解: 这个题目是看别人的博客做出来的,其实挺不错的一个题目,考察的东西挺多的, 一个dfs可以处理5个东西: 1.找出父亲 2.找出深度 3.每一层的节点,存进Ve ...

  2. 解决aspnet上传文件大小限制

    <system.web>    <httpRuntime executionTimeout="600" maxRequestLength="20480& ...

  3. TWaver可视化编辑器的前世今生(三)Doodle编辑器

    插播一则广告(长期有效)TWaver需要在武汉招JavaScript工程师若干要求:对前端技术(JavasScript.HTML.CSS),对可视化技术(Canvas.WebGL)有浓厚的兴趣基础不好 ...

  4. ios之coretext

    API接口文档. https://developer.apple.com/library/mac/#documentation/Carbon/Reference/CoreText_Framework_ ...

  5. [JOYOI] 1124 花店橱窗

    题目限制 时间限制 内存限制 评测方式 题目来源 1000ms 131072KiB 标准比较器 Local 题目背景 xq和他的老婆xz最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里.但是他们 ...

  6. ES搭建

    https://www.cnblogs.com/jstarseven/p/6803054.html

  7. 条款23:宁一 non-member no-friend 替换member函数(prefer non-member non-friend functions to members functions)

    NOTE : 1.宁可拿non-member non-friend 函数替换member函数.这样做可以增加封装性/包裹单性(packaging flexibility)和机能扩展性.

  8. HDU 2196 Computer(求树上每个点的最长距离)

    题意: 这题想了挺久的, 参考了kuangbin大神的代码:https://www.cnblogs.com/kuangbin/archive/2012/08/28/2659915.html 给出树上边 ...

  9. Couchbase第一印象(架构特性)

    Couchbase第一印象(架构特性) 面向文档 保存的字节流总有一个 DOCUMENT ID(Object_ID) 高并发性,高灵活性,高拓展性,容错性好 面向文档的集群存储系统 每个文档用一个唯一 ...

  10. 一、SQL基础知识点补充

    SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). SQL (结构化查询语言)是用于执行查询的语法.但是 SQL 语言也包含用于更新.插 ...