() { super() ..onChange.bind(this) .log(e.target.value) .target.value }) divonChangeoption valueaaaoption valuecccpInput () { super() ..onInput.bind(this) ..target.value }) divonInputRadio (props) { super(props) ...onChange.bind(this) .log(e.target.value) .target.value }) span...Playground (props) { super(props) ..onWheel.bind(this) ..wheelDelta }) div styleonWheel.FocusEl (props) { super(props) ..onFocus.bind(this) .log(e.target.title) input titleonKeyUponFocusInput /p.getElementById('example')) }
然后我们建一个webpack.config.js,用的是webpack1
path fs es3ifyPlugin .__dirname__dirname [[ .resolve(__dirname, "node_modules") } ]
es3ify-webpack-plugin是专门将es5代码转换为es3代码,因为es5是允许用关键字,保留字作为对象的方法与属性,而es3不能。万一碰上module.default,我们就坑大了。es3ify是一个利器。
babel是通过.babelrc来配置,里面用到一个
babel-plugin-transform-es2015-classes记使用loose模式。
babel-preset-es2015后面这样设置是禁用生成"use strict",也建议直接换成babel-preset-avalon,这是个preset生成的代码兼容性更好。
如果大家用 uglify-js进行代码上线,这也要注意一下,这里有许多坑,它默认会把es3ify干的活全部白做了。详见 https://github.com/zuojj/fedlab/issues/5 这篇文章
)
最后大家可以通过加Q 79641290 联系我。