From a2a5790d1e10d12bf07c2170fd14c1b6da6d1eb4 Mon Sep 17 00:00:00 2001 From: xcatliu Date: Wed, 30 Dec 2015 00:31:08 +0800 Subject: [PATCH] Remove es3ify --- README.md | 87 ++++++++++---------------- es3ify-webpack-plugin/index.js | 27 -------- examples/README.md | 13 ++++ examples/hello-world/index.html | 5 +- examples/hello-world/webpack.config.js | 5 -- package.json | 1 - 6 files changed, 49 insertions(+), 89 deletions(-) delete mode 100644 es3ify-webpack-plugin/index.js create mode 100644 examples/README.md diff --git a/README.md b/README.md index 5eb6bf97..d4f71ea7 100644 --- a/README.md +++ b/README.md @@ -1,84 +1,61 @@ -使你的 React 应用兼容 IE8 -=== +[English README](#make-your-react-app-work-in-ie8) -来自 [NET Market Share](http://marketshare.hitslink.com/browser-market-share.aspx?qprid=2&qpcustomd=0&qpsp=196&qpnp=1&qptimeframe=M) 的数据表明,2015 年五月,全球浏览器份额中,IE6 占比仅有 0.85%,IE7 仅有 0.38%,但是 IE8 还有 14.79% 的份额,所以兼容到 IE8 还是有必要的。 +# 使你的 React 应用兼容 IE8 -幸运的是 React 对 IE8 是兼容的[[1]](https://facebook.github.io/react/docs/working-with-the-browser.html#browser-support-and-polyfills)。但是需要做一些额外的配置: +> 一行代码搞定 IE8 的兼容性问题 -## es5-shim.js +## 使用方法 -`es5-shim.js` 提供了一些 EcmaScript 5 语法的支持,其中这些是被 React 使用了的: +### CommonJS -``` -Array.isArray -Array.prototype.every -Array.prototype.forEach -Array.prototype.indexOf -Array.prototype.map -Date.now -Function.prototype.bind -Object.keys -String.prototype.split -String.prototype.trim -``` +若您使用 CommonJS 风格,引入 `react-ie8` 很简单,直接在**入口文件最前面**加上以下代码即可。 -当然,一旦你引用了 `es5-shim.js`,那么[这些方法](https://github.com/es-shims/es5-shim#shims)都可以随意使用了。 +```js +require('react-ie8')(options); +``` -`es5-shim.js` 支持 AMD,CommonJS 或者直接以 `script` 标签的形式插入到 html 中。 +## 配置 -使用 `bower install es5-shim` 或者 `npm install es5-shim` 之后即可引用,参考这个例子。 +支持的配置: -## es5-sham.js +### es5-shim -`es5-sham.js` 提供了其他的一些 ES5 语法的支持,其中这些是被 React 使用了的: +### es5-sham -``` -Object.create -Object.freeze -``` +### console-polyfill -尽管 `es5-sham.js` 实现了所有其他的 ES5 语法,但是有很多实现仅仅只是为了让它在老浏览器中不会报错,也就是说,调用[这些方法](https://github.com/es-shims/es5-shim#may-fail),会默默的失败。 +## 参考 -然而,一旦你引用了 `es5-sham.js`,那么[这些方法](https://github.com/es-shims/es5-shim#shams)是可以随意使用的。 +- [React 官方对 IE8 的支持][React official support for IE8] -`es5-sham.js` 的引用方式同 `es5-shim.js`。 + -`es5-sham.js` 需要在 `es5-shim.js` 之后引用,而这两者都得在调用 ES5 语法之前引用。 +# Make your React app work in IE8 -## console-polyfill +> Solve compatibility problem with one liner code -React 中使用了 `console.*`,故需要 `console-polyfill` 来使旧浏览器不报错。 +## Usage -`console-polyfill` 提供了 `component`, `bower` 或者 `npm` 的方式引入。 +### CommonJS -## HTML5 shiv (optional) +If you are using CommonJS, It's quite easy to import react-ie8, just insert the code below **to the beginning of your entry file**. -如果你用到了一些 HTML5 的标签,比如 `
`, `
`, `