npm install
npm run dev在 IE 8 及以下版本浏览器中使用需要注意以下几个问题:
-
ykit.js中的alias字段配置需要指向qreact/dist/ReactIE而不是qreact。 -
.babelrc中需要在plugins中添加add-module-exports。
{
"plugins": [
"transform-export-extensions",
// babel@6 不再以 commonJS 方式输出模块
// 而在入口文件中中必须以 require 方式引入模块
// 否则无法正常渲染
// 详细信息请查看 https://github.com/59naga/babel-plugin-add-module-exports
"add-module-exports"
],
"presets": [
"es2015",
"react"
]
}- 入口文件不能使用
import方式引入包或者组件,且需要引入es5-shim和es5-sham。
// 引入 shim 解决 IE 8 下 Object.defineProperty 的问题
require('es5-shim');
require('es5-shim/es5-sham');
// 入口文件处不可用 import 引入模块,其他页面不受影响
// 因为 babel 把 import 编译成了 Object.defineProperty
// 而 IE8 中没有这个方法,上方引入的 shim 解决了这个问题
const React = require('react');
const ReactDOM = require('react-dom');
const Hello = require('./component/Hello');
ReactDOM.render(
<Hello/>,
document.getElementById('app')
);