Skip to content

React Webpack Building Solution, Support React Server Side Render (SSR), Client Side Render (CSR) Building

License

Notifications You must be signed in to change notification settings

easy-team/easywebpack-react

Repository files navigation

easywebpack-react

NPM version build status Test coverage David deps Known Vulnerabilities npm download

React client render and server side render build solution for Webpack

  • easywebpack-react ^5.0.0 > Webpack ^5.0.0 + Babel 7
  • @easy-team/easywebpack-react ^4.0.0 > Webpack ^4.0.0 + Babel 7
  • easywebpack-react ^4.0.0 > Webpack ^4.0.0 + Babel 6
  • easywebpack-react ^3.0.0 > Webpack ^3.0.0 + Babel 6

Featues

  • ✔︎ React Client Render and Server Side Render Build Mode
  • ✔︎ React Single Appliaction and React Mutil Appliaction Build Mode
  • ✔︎ Hot Reload, Css Hot Reload, Code Splitting, High Speed, Cache Build, Thread Build
  • ✔︎ ES5/ES6/ES7, TypeScript, DLL, Css Module, Dynamic Import, AntD Dynamic Import
  • ✔︎ Powerful Tool Chain easywebpack-cli

Documents

Install

$ npm i easywebpack-react --save-dev

QuickStart

  • Install Command Line
$ npm i easywebpack-cli -g 
  • Initalize Application
$ easy init
  • Running Application
$ npm start

Configuration

Write Webpack Config webpack.config.js

const easywebpack = require('easywebpack-react');
const webpack = easywebpack.webpack;
const merge = easywebpack.merge;
const webpackConfig = easywebpack.getWebpackConfig({
    env, // support dev, test, prod 
    target : 'web', // browser mode build
    entry:{
      app: 'src/index.js'
    },
    customize(webpackConfig) {
      // ... customize webpack config
      return webpackConfig;
    }
});

Webpack Build

easy build --webpack

OR

webpack --config webpack.config.js

Application Development & Building

const webpackConfig = require('./webpack.config.js');
const easywebpack = require('easywebpack-react');
const webpackTool = new WebpackTool();
// development mode
easywebpack.server(webpackConfig);
// build file to disk
easywebpack.build(webpackConfig);


## Example

- [react-client-render-boilerplate](https://github.com/easy-team/easywebpack-cli-template/tree/master/boilerplate/react) React client render boilerplate.

- [egg-react-webpack-boilerplate](https://github.com/easy-team/egg-react-webpack-boilerplate) support client render and server render.

- [egg-react-typescript-boilerplate](https://github.com/easy-team/egg-react-typescript-boilerplate) Egg + TypeScript + React server render boilerplate.

- you can use [easywebpack-cli](https://github.com/easy-team/easywebpack-cli) create client render project or create server side render project for react.


## Questions & Suggestions

Please open an issue [here](https://github.com/easy-team/easywebpack-react).

## License

[MIT](LICENSE)