2015-05-22 04:36:16 +08:00
This example shows how to use multiple entry points with a commons chunk.
2014-07-24 17:29:49 +08:00
2015-05-22 04:36:16 +08:00
In this example you have two (HTML) pages `pageA` and `pageB` . You want to create individual bundles for each page. In addition to this you want to create a shared bundle that contains all modules used in both pages (assuming there are many/big modules in common). The pages also use Code Splitting to load a less used part of the features on demand.
2014-07-24 17:29:49 +08:00
2018-01-20 00:06:59 +08:00
You can see how to define multiple entry points via the `entry` option.
2018-02-21 22:21:05 +08:00
You can use
2014-07-24 17:29:49 +08:00
You can see the output files:
* `commons.js` contains:
* module `common.js` which is used in both pages
2018-01-20 00:06:59 +08:00
* `pageA.js` contains: (`pageB.js` is similar)
2018-02-21 22:21:05 +08:00
* the module system
* chunk loading logic
2014-07-24 17:29:49 +08:00
* the entry point `pageA.js`
* it would contain any other module that is only used by `pageA`
2018-09-26 05:13:58 +08:00
* `1.js` is an additional chunk which is used by both pages. It contains:
2014-07-24 17:29:49 +08:00
* module `shared.js`
You can also see the info that is printed to console. It shows among others:
* the generated files
* the chunks with file, name and id
* see lines starting with `chunk`
2015-05-22 04:36:16 +08:00
* the modules that are in the chunks
2014-07-24 17:29:49 +08:00
* the reasons why the modules are included
* the reasons why a chunk is created
* see lines starting with `>`
2013-11-20 01:09:26 +08:00
# pageA.js
``` javascript
{{pageA.js}}
```
# pageB.js
``` javascript
{{pageB.js}}
```
# webpack.config.js
``` javascript
{{webpack.config.js}}
```
2013-12-03 16:27:15 +08:00
# pageA.html
``` html
{{pageA.html}}
```
2018-01-05 04:39:29 +08:00
# dist/commons.js
2013-12-03 16:27:15 +08:00
``` javascript
2018-01-05 04:39:29 +08:00
{{dist/commons.js}}
2013-12-03 16:27:15 +08:00
```
2018-01-20 00:06:59 +08:00
# dist/pageA.js
2013-11-20 01:09:26 +08:00
``` javascript
2018-01-20 00:06:59 +08:00
{{dist/pageA.js}}
2013-11-20 01:09:26 +08:00
```
2018-01-20 00:06:59 +08:00
# dist/pageB.js
2013-11-20 01:09:26 +08:00
``` javascript
2018-01-20 00:06:59 +08:00
{{dist/pageB.js}}
2013-11-20 01:09:26 +08:00
```
2018-12-19 21:05:17 +08:00
# dist/406.js
2013-11-20 01:09:26 +08:00
``` javascript
2018-12-19 21:05:17 +08:00
{{dist/406.js}}
2013-11-20 01:09:26 +08:00
```
# Info
2017-12-14 17:09:09 +08:00
## Unoptimized
2013-11-20 01:09:26 +08:00
```
{{stdout}}
```
2017-12-14 17:09:09 +08:00
## Production mode
2013-11-20 01:09:26 +08:00
```
2017-12-14 17:09:09 +08:00
{{production:stdout}}
2013-11-20 01:09:26 +08:00
```