前端构建工具里babel-polyfill的使用问题

      看了很多react工程的package.json文件,里面都没有使用babel-polyfill,那对ES6的新API是如何做到被IE9这样的浏览器识别的呢,难道在webpack打包的时候通过别的方式加了API?先自己试一下。

这是package.json文件,

{
  "name": "part3",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "webpack",
    "dev": "webpack-dev-server --hot"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.9.1",
    "babel-loader": "^6.2.4",
    "babel-preset-es2015": "^6.9.0",
    "babel-preset-react": "^6.5.0",
    "babel-preset-react-hmre": "^1.1.1",
    "eslint": "^2.13.0",
    "eslint-config-airbnb": "^9.0.1",
    "eslint-loader": "^1.3.0",
    "eslint-plugin-import": "^1.8.1",
    "eslint-plugin-jsx-a11y": "^1.5.3",
    "eslint-plugin-react": "^5.2.2",
    "html-webpack-plugin": "^2.21.0",
    "webpack": "^1.13.1",
    "webpack-dev-server": "^1.14.1"
  },
  "dependencies": {
    "react": "^15.1.0",
    "react-dom": "^15.1.0"
  }
}

这是react文件

import React from 'react';
import ReactDOM from 'react-dom';
const b = Array.of(1, 2, 4);
console.log(b);

function App() {
  return (
    <div className="container">
      <h1>Hello React!</h1>
    </div>
  );
}

const app = document.createElement('div');
document.body.appendChild(app);
ReactDOM.render(<App />, app);

编译后chrome能正常输出数组b,而IE9显示错误:SCRIPT438: 对象不支持“of”属性或方法 

那该如何使IE9获得ES6的API呢?先看一篇文章ES6 + Webpack + React + Babel 如何在低版本浏览器上愉快的玩耍(下)

OK,看完这篇文章然后自己试一下,应该就明白了。

posted @ 2017-07-09 23:32  姜瑞涛  阅读(732)  评论(0编辑  收藏  举报