/anu

the React16-compat mini library

Primary LanguageJavaScriptApache License 2.0Apache-2.0

anujs

GitHub license npm version CircleCI PRs Welcome Qunar.com

npm install anujs

A mini React-like framework that is extremely compatible with React16。 QQ group: 370262116

size

source: https://bundlephobia.com/

advantage:

  1. Support various new features of React16, Fragment, componentDidCatch, creactContext, createRef, forwardRef...
  2. The size is very small (only 3000 lines, gzip only 13kb, one third of React+ReactDOM)
  3. Pass more than 700 official unit tests (other mini libraries can not run the official test)
  4. Share the huge ecology of React(React-router-dom, react-router-redux, react-lazy-load, react-hot-loader...)
  5. Supports 99% antd components (antdis an enterprise-class UI components in China).
  6. Excellent browser compatibility, easy to handle all kinds of business under IE6-8.
  7. It comes with a painless state manager Rematch and a handy router Reach.
  8. Support wechat miniapp(微信小程序) https://rubylouvre.github.io/nanachi/

boilerplate

License

MIT

webpack config

resolve: {
    alias: {
       'react': 'anujs',
       'react-dom': 'anujs',
        'react-dom/server': 'anujs/dist/React/server',//在dist下面有一个Reac目录
         // For compatibility with IE please use the following configuration
         // 'react': 'anujs/dist/ReactIE',
         // 'react-dom': 'anujs/dist/ReactIE',
         // 'redux': 'anujs/lib/ReduxIE', /// This is mainly for IE6-8, because of the poor performance of the isPlainObject method in the official source code.
         // If you reference prop-types or create-react-class
         // Need to add the following alias
         'prop-types': 'anujs/lib/ReactPropTypes',
         'create-react-class': 'anujs/lib/createClass',
         // If you use the onTouchTap event on the mobile side
         'react-tap-event-plugin': 'anujs/lib/injectTapEventPlugin',
    }
},

Testing

npm test