├── src
├── scripts
│ ├── list.js
│ ├── detail.js
│ ├── home.js
│ ├── modules
│ │ ├── ModuleA.js
│ │ └── NavComp.js
│ └── index.js
└── styles
│ ├── modules
│ └── ModuleA.css
│ ├── index.css
│ └── common
│ └── reset.css
├── html
└── index.html
├── README.md
├── .gitignore
├── webpack.libs.js
├── package.json
├── webpack.config.js
└── libs
└── vendors_manifest.json
/src/scripts/list.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = {
3 | getHtml: function() {
4 | return '
List
';
5 | }
6 | }
--------------------------------------------------------------------------------
/src/scripts/detail.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = {
3 | getHtml: function() {
4 | return 'Detail
';
5 | }
6 | };
--------------------------------------------------------------------------------
/src/scripts/home.js:
--------------------------------------------------------------------------------
1 |
2 | var ModuleA = require('./modules/ModuleA.js');
3 |
4 | module.exports = {
5 | getHtml: function() {
6 | return ModuleA.getHtml();
7 | }
8 | }
--------------------------------------------------------------------------------
/src/styles/modules/ModuleA.css:
--------------------------------------------------------------------------------
1 | @charset 'utf-8';
2 |
3 | .ModuleA {
4 | font-size: 16px;
5 | color: #333;
6 | display: flex;
7 |
8 | &.title {
9 | color: #ff6622;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/scripts/modules/ModuleA.js:
--------------------------------------------------------------------------------
1 |
2 | import '!style!css!postcss!Styles/modules/ModuleA.css';
3 |
4 | module.exports = {
5 |
6 | getHtml: function() {
7 | return ' Hello webpack !
';
8 | }
9 | }
--------------------------------------------------------------------------------
/html/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Webpack sample!
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/styles/index.css:
--------------------------------------------------------------------------------
1 | @charset 'utf-8';
2 |
3 | @import './common/reset.css';
4 |
5 | html, body {
6 | width: 100%;
7 | height: 100%;
8 | margin: 0;
9 | background: #666;
10 |
11 | display: flex;
12 | flex-direction: column;
13 | }
14 |
15 | .head {
16 | height: 80px;
17 | }
18 |
19 | .main {
20 | flex: 1;
21 | }
--------------------------------------------------------------------------------
/src/scripts/modules/NavComp.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = {
3 | getHtml: function() {
4 | return [
5 | '',
6 | '',
7 | '',
8 | '',
9 | '
'
10 | ].join('');
11 | }
12 | };
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # webpack-demo
2 | step by step introduce webpack
3 |
4 | ## branch list
5 |
6 | ### step-1
7 | a simple demo about compile js module.
8 |
9 | ### step-2
10 | use loader: use webpck loader to load css.
11 |
12 | ### step-3
13 | use plugin: use plugin to export css file.
14 |
15 | ### step-4
16 | use webpack-dev-server and hot-replace-module.
17 |
18 | ### step-5
19 | use es2015 to write js,
20 | use postcss to build css.
21 |
22 | ### step-6
23 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /dev/
2 | /prd/
3 | /refs/
4 |
5 |
6 | # kdiff3 ignore
7 | *.orig
8 |
9 | # maven ignore
10 | target/
11 |
12 | # eclipse ignore
13 | .settings/
14 | .project
15 | .classpath
16 |
17 | # idea ignore
18 | .idea/
19 | *.ipr
20 | *.iml
21 | *.iws
22 |
23 | # temp ignore
24 | *.log
25 | *.cache
26 | *.diff
27 | *.patch
28 | *.tmp
29 |
30 | # system ignore
31 | .DS_Store
32 | Thumbs.db
33 |
34 | # package ignore (optional)
35 | # *.jar
36 | # *.war
37 | # *.zip
38 | # *.tar
39 | # *.tar.gz
40 |
41 |
42 | .sass-cache
43 | /resource/
44 | /log/
45 | /node_modules/
--------------------------------------------------------------------------------
/webpack.libs.js:
--------------------------------------------------------------------------------
1 | var webpack = require('webpack');
2 | var CleanWebpackPlugin = require('clean-webpack-plugin');
3 | var WebpackMd5Hash = require('webpack-md5-hash');
4 | var path = require('path');
5 |
6 |
7 | module.exports = {
8 |
9 | entry: {
10 | vendors: [
11 | 'antd',
12 | 'isomorphic-fetch',
13 | 'react',
14 | 'react-dom',
15 | 'react-redux',
16 | 'react-router',
17 | 'redux',
18 | 'redux-promise-middleware',
19 | 'redux-thunk',
20 | 'superagent',
21 | 'jquery'
22 | ]
23 | },
24 |
25 | output: {
26 | path: path.resolve('./libs/'),
27 | filename: '[name]_[chunkhash].js',
28 | library: '[name]_[chunkhash]'
29 | },
30 |
31 | plugins: [
32 | new CleanWebpackPlugin(['libs']),
33 | new webpack.DllPlugin({
34 | path: path.resolve('./libs/[name]_manifest.json'),
35 | name: '[name]_[chunkhash]',
36 | context: __dirname
37 | }),
38 | // 根据文件内容生成 MD5
39 | new WebpackMd5Hash()
40 | ]
41 | };
42 |
--------------------------------------------------------------------------------
/src/scripts/index.js:
--------------------------------------------------------------------------------
1 | import 'Styles/index.css';
2 | import NavComp from './modules/NavComp.js';
3 |
4 | let bindNavEvent = () => {
5 | $('.head').on('click', '.js-nav-item', function() {
6 | let pageId = this.getAttribute('data-page-id'),
7 | $container = $('body > .main');
8 |
9 | // 首页
10 | if(pageId === 'home') {
11 | require.ensure([], () => {
12 | let home = require('./home.js');
13 | $container.html( home.getHtml() );
14 | });
15 | }
16 | // 列表页
17 | else if (pageId === 'list') {
18 | require.ensure([], () => {
19 | let list = require('./list.js');
20 | $container.html( list.getHtml() );
21 | });
22 | }
23 | // 详情页
24 | else if (pageId === 'detail') {
25 | require.ensure([], () => {
26 | let detail = require('./detail.js');
27 | $container.html( detail.getHtml() );
28 | });
29 | }
30 |
31 | });
32 | }
33 |
34 | let init = () => {
35 | $('body > .head').html(NavComp.getHtml());
36 | bindNavEvent();
37 | }
38 |
39 | init();
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "webpack-sample",
3 | "version": "1.0.0",
4 | "description": "webpack sample ",
5 | "dependencies": {
6 | "antd": "^1.9.1",
7 | "isomorphic-fetch": "^2.2.1",
8 | "jquery": "^3.1.0",
9 | "react": "^15.3.0",
10 | "react-dom": "^15.3.0",
11 | "react-redux": "^4.4.5",
12 | "react-router": "^2.6.1",
13 | "redux": "^3.5.2",
14 | "redux-promise-middleware": "^3.3.2",
15 | "redux-thunk": "^2.1.0",
16 | "superagent": "^2.2.0"
17 | },
18 | "devDependencies": {
19 | "babel-core": "^6.13.2",
20 | "babel-loader": "^6.2.4",
21 | "babel-preset-es2015": "^6.13.2",
22 | "babel-preset-stage-0": "^6.5.0",
23 | "clean-webpack-plugin": "^0.1.10",
24 | "css-loader": "^0.23.1",
25 | "extract-text-webpack-plugin": "^1.0.1",
26 | "html-webpack-plugin": "^2.22.0",
27 | "json-loader": "^0.5.4",
28 | "postcss-cssnext": "^2.7.0",
29 | "postcss-loader": "^0.10.0",
30 | "postcss-scss": "^0.1.9",
31 | "precss": "^1.4.0",
32 | "style-loader": "^0.13.1",
33 | "webpack": "^1.13.2",
34 | "webpack-dev-server": "^1.14.1",
35 | "webpack-md5-hash": "0.0.5"
36 | },
37 | "scripts": {
38 | "wbpk": "webpack --colors --profile --display-modules",
39 | "dll": "webpack --config webpack.libs.js"
40 | },
41 | "keywords": [
42 | "webpack",
43 | "sample"
44 | ],
45 | "author": "functions",
46 | "license": "MIT"
47 | }
48 |
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | /**
2 | * at project root dir:
3 | * webpack.config.js
4 | */
5 | var Path = require('path');
6 | var webpack = require('webpack');
7 | var ExtractTextPlugin = require('extract-text-webpack-plugin');
8 | var extractCSS = new ExtractTextPlugin('[name]@[chunkhash].css');
9 | var ProgressPlugin = require('webpack/lib/ProgressPlugin');
10 | var HtmlWebpackPlugin = require('html-webpack-plugin');
11 | var CleanWebpackPlugin = require('clean-webpack-plugin');
12 | var WebpackMd5Hash = require('webpack-md5-hash');
13 |
14 | var libsManifestJSON = require('./libs/vendors_manifest.json');
15 |
16 |
17 | module.exports = {
18 | // 多入口文件的配置
19 | entry: {
20 | index: './src/scripts/index.js'
21 | },
22 |
23 | output: {
24 | path: './prd/',
25 | filename: '[name]@[chunkhash].js',
26 | // 这里的 [name] 对应 entry 的 key
27 | chunkFilename: "[id].chunk@[chunkhash].js"
28 | },
29 |
30 | resolve: {
31 | // 配置路径的别名
32 | alias: { // 别名的路径都必须使用绝对路径
33 | Styles: Path.resolve('./src/styles')
34 | }
35 | },
36 |
37 | devtool: '#source-map',
38 |
39 | module: {
40 | // 不扫描的文件或目录,正则匹配
41 | noParse: [
42 | /prd/
43 | ],
44 | // 首先执行的 loader; 这里可以引入一些语法检查工具等;
45 | preloaders: [],
46 |
47 | // 其次执行的 loader
48 | loaders: [
49 | // 处理 css
50 | {
51 | test: /\.css$/,
52 | loader: extractCSS.extract(['css?sourceMap&minimize', 'postcss?parser=postcss-scss'])
53 | },
54 | // 处理 js
55 | {
56 | test: /\.js$/,
57 | exclude: /node_modules/,
58 | loaders: ['babel-loader?presets[]=es2015,presets[]=stage-0']
59 | },
60 | {
61 | test: /\.json$/,
62 | loader: 'json-loader'
63 | }
64 | ],
65 |
66 | // 最后执行的 loader, 这里可以执行一些单元测试, 覆盖率测试等;
67 | postloaders: []
68 | },
69 |
70 | plugins: [
71 | // 清空编译后的目录
72 | new CleanWebpackPlugin(['prd']),
73 | // 引用打包好的第三方库
74 | new webpack.DllReferencePlugin({
75 | context: __dirname,
76 | manifest: libsManifestJSON
77 | }),
78 | // 第三方库的引用设置为全局变量
79 | new webpack.ProvidePlugin({
80 | $: "jquery"
81 | }),
82 | // 自动生成 html
83 | new HtmlWebpackPlugin({
84 | template: './html/index.html',
85 | vendorFileName: '../libs/' + libsManifestJSON.name + '.js'
86 | }),
87 | // 导出 css 文件
88 | extractCSS,
89 | // 压缩 js
90 | new webpack.optimize.UglifyJsPlugin({
91 | compress: {
92 | warnings: false
93 | }
94 | }),
95 | // 根据文件内容生成 MD5
96 | new WebpackMd5Hash(),
97 | // 显示加载进度
98 | new ProgressPlugin(function(percentage, msg) {
99 | console.log(parseInt(percentage * 100) + '%', msg);
100 | })
101 | ],
102 |
103 | // postcss 处理器
104 | postcss: function() {
105 | return [
106 | require('precss'),
107 | require('postcss-cssnext')()
108 | ]
109 | }
110 |
111 | };
--------------------------------------------------------------------------------
/src/styles/common/reset.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /**
4 | * 1. Change the default font family in all browsers (opinionated).
5 | * 2. Correct the line height in all browsers.
6 | * 3. Prevent adjustments of font size after orientation changes in IE and iOS.
7 | */
8 |
9 | /* Document
10 | ========================================================================== */
11 |
12 | html {
13 | font-family: sans-serif; /* 1 */
14 | line-height: 1.15; /* 2 */
15 | -ms-text-size-adjust: 100%; /* 3 */
16 | -webkit-text-size-adjust: 100%; /* 3 */
17 | }
18 |
19 | /* Sections
20 | ========================================================================== */
21 |
22 | /**
23 | * Remove the margin in all browsers (opinionated).
24 | */
25 |
26 | body {
27 | margin: 0;
28 | }
29 |
30 | /**
31 | * Add the correct display in IE 9-.
32 | */
33 |
34 | article,
35 | aside,
36 | footer,
37 | header,
38 | nav,
39 | section {
40 | display: block;
41 | }
42 |
43 | /**
44 | * Correct the font size and margin on `h1` elements within `section` and
45 | * `article` contexts in Chrome, Firefox, and Safari.
46 | */
47 |
48 | h1 {
49 | font-size: 2em;
50 | margin: 0.67em 0;
51 | }
52 |
53 | /* Grouping content
54 | ========================================================================== */
55 |
56 | /**
57 | * Add the correct display in IE 9-.
58 | * 1. Add the correct display in IE.
59 | */
60 |
61 | figcaption,
62 | figure,
63 | main { /* 1 */
64 | display: block;
65 | }
66 |
67 | /**
68 | * Add the correct margin in IE 8.
69 | */
70 |
71 | figure {
72 | margin: 1em 40px;
73 | }
74 |
75 | /**
76 | * 1. Add the correct box sizing in Firefox.
77 | * 2. Show the overflow in Edge and IE.
78 | */
79 |
80 | hr {
81 | box-sizing: content-box; /* 1 */
82 | height: 0; /* 1 */
83 | overflow: visible; /* 2 */
84 | }
85 |
86 | /**
87 | * 1. Correct the inheritance and scaling of font size in all browsers.
88 | * 2. Correct the odd `em` font sizing in all browsers.
89 | */
90 |
91 | pre {
92 | font-family: monospace, monospace; /* 1 */
93 | font-size: 1em; /* 2 */
94 | }
95 |
96 | /* Text-level semantics
97 | ========================================================================== */
98 |
99 | /**
100 | * 1. Remove the gray background on active links in IE 10.
101 | * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
102 | */
103 |
104 | a {
105 | background-color: transparent; /* 1 */
106 | -webkit-text-decoration-skip: objects; /* 2 */
107 | }
108 |
109 | /**
110 | * Remove the outline on focused links when they are also active or hovered
111 | * in all browsers (opinionated).
112 | */
113 |
114 | a:active,
115 | a:hover {
116 | outline-width: 0;
117 | }
118 |
119 | /**
120 | * 1. Remove the bottom border in Firefox 39-.
121 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
122 | */
123 |
124 | abbr[title] {
125 | border-bottom: none; /* 1 */
126 | text-decoration: underline; /* 2 */
127 | text-decoration: underline dotted; /* 2 */
128 | }
129 |
130 | /**
131 | * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
132 | */
133 |
134 | b,
135 | strong {
136 | font-weight: inherit;
137 | }
138 |
139 | /**
140 | * Add the correct font weight in Chrome, Edge, and Safari.
141 | */
142 |
143 | b,
144 | strong {
145 | font-weight: bolder;
146 | }
147 |
148 | /**
149 | * 1. Correct the inheritance and scaling of font size in all browsers.
150 | * 2. Correct the odd `em` font sizing in all browsers.
151 | */
152 |
153 | code,
154 | kbd,
155 | samp {
156 | font-family: monospace, monospace; /* 1 */
157 | font-size: 1em; /* 2 */
158 | }
159 |
160 | /**
161 | * Add the correct font style in Android 4.3-.
162 | */
163 |
164 | dfn {
165 | font-style: italic;
166 | }
167 |
168 | /**
169 | * Add the correct background and color in IE 9-.
170 | */
171 |
172 | mark {
173 | background-color: #ff0;
174 | color: #000;
175 | }
176 |
177 | /**
178 | * Add the correct font size in all browsers.
179 | */
180 |
181 | small {
182 | font-size: 80%;
183 | }
184 |
185 | /**
186 | * Prevent `sub` and `sup` elements from affecting the line height in
187 | * all browsers.
188 | */
189 |
190 | sub,
191 | sup {
192 | font-size: 75%;
193 | line-height: 0;
194 | position: relative;
195 | vertical-align: baseline;
196 | }
197 |
198 | sub {
199 | bottom: -0.25em;
200 | }
201 |
202 | sup {
203 | top: -0.5em;
204 | }
205 |
206 | /* Embedded content
207 | ========================================================================== */
208 |
209 | /**
210 | * Add the correct display in IE 9-.
211 | */
212 |
213 | audio,
214 | video {
215 | display: inline-block;
216 | }
217 |
218 | /**
219 | * Add the correct display in iOS 4-7.
220 | */
221 |
222 | audio:not([controls]) {
223 | display: none;
224 | height: 0;
225 | }
226 |
227 | /**
228 | * Remove the border on images inside links in IE 10-.
229 | */
230 |
231 | img {
232 | border-style: none;
233 | }
234 |
235 | /**
236 | * Hide the overflow in IE.
237 | */
238 |
239 | svg:not(:root) {
240 | overflow: hidden;
241 | }
242 |
243 | /* Forms
244 | ========================================================================== */
245 |
246 | /**
247 | * 1. Change the font styles in all browsers (opinionated).
248 | * 2. Remove the margin in Firefox and Safari.
249 | */
250 |
251 | button,
252 | input,
253 | optgroup,
254 | select,
255 | textarea {
256 | font-family: sans-serif; /* 1 */
257 | font-size: 100%; /* 1 */
258 | line-height: 1.15; /* 1 */
259 | margin: 0; /* 2 */
260 | }
261 |
262 | /**
263 | * Show the overflow in IE.
264 | * 1. Show the overflow in Edge.
265 | */
266 |
267 | button,
268 | input { /* 1 */
269 | overflow: visible;
270 | }
271 |
272 | /**
273 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
274 | * 1. Remove the inheritance of text transform in Firefox.
275 | */
276 |
277 | button,
278 | select { /* 1 */
279 | text-transform: none;
280 | }
281 |
282 | /**
283 | * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
284 | * controls in Android 4.
285 | * 2. Correct the inability to style clickable types in iOS and Safari.
286 | */
287 |
288 | button,
289 | html [type="button"], /* 1 */
290 | [type="reset"],
291 | [type="submit"] {
292 | -webkit-appearance: button; /* 2 */
293 | }
294 |
295 | /**
296 | * Remove the inner border and padding in Firefox.
297 | */
298 |
299 | button::-moz-focus-inner,
300 | [type="button"]::-moz-focus-inner,
301 | [type="reset"]::-moz-focus-inner,
302 | [type="submit"]::-moz-focus-inner {
303 | border-style: none;
304 | padding: 0;
305 | }
306 |
307 | /**
308 | * Restore the focus styles unset by the previous rule.
309 | */
310 |
311 | button:-moz-focusring,
312 | [type="button"]:-moz-focusring,
313 | [type="reset"]:-moz-focusring,
314 | [type="submit"]:-moz-focusring {
315 | outline: 1px dotted ButtonText;
316 | }
317 |
318 | /**
319 | * Change the border, margin, and padding in all browsers (opinionated).
320 | */
321 |
322 | fieldset {
323 | border: 1px solid #c0c0c0;
324 | margin: 0 2px;
325 | padding: 0.35em 0.625em 0.75em;
326 | }
327 |
328 | /**
329 | * 1. Correct the text wrapping in Edge and IE.
330 | * 2. Correct the color inheritance from `fieldset` elements in IE.
331 | * 3. Remove the padding so developers are not caught out when they zero out
332 | * `fieldset` elements in all browsers.
333 | */
334 |
335 | legend {
336 | box-sizing: border-box; /* 1 */
337 | color: inherit; /* 2 */
338 | display: table; /* 1 */
339 | max-width: 100%; /* 1 */
340 | padding: 0; /* 3 */
341 | white-space: normal; /* 1 */
342 | }
343 |
344 | /**
345 | * 1. Add the correct display in IE 9-.
346 | * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
347 | */
348 |
349 | progress {
350 | display: inline-block; /* 1 */
351 | vertical-align: baseline; /* 2 */
352 | }
353 |
354 | /**
355 | * Remove the default vertical scrollbar in IE.
356 | */
357 |
358 | textarea {
359 | overflow: auto;
360 | }
361 |
362 | /**
363 | * 1. Add the correct box sizing in IE 10-.
364 | * 2. Remove the padding in IE 10-.
365 | */
366 |
367 | [type="checkbox"],
368 | [type="radio"] {
369 | box-sizing: border-box; /* 1 */
370 | padding: 0; /* 2 */
371 | }
372 |
373 | /**
374 | * Correct the cursor style of increment and decrement buttons in Chrome.
375 | */
376 |
377 | [type="number"]::-webkit-inner-spin-button,
378 | [type="number"]::-webkit-outer-spin-button {
379 | height: auto;
380 | }
381 |
382 | /**
383 | * 1. Correct the odd appearance in Chrome and Safari.
384 | * 2. Correct the outline style in Safari.
385 | */
386 |
387 | [type="search"] {
388 | -webkit-appearance: textfield; /* 1 */
389 | outline-offset: -2px; /* 2 */
390 | }
391 |
392 | /**
393 | * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
394 | */
395 |
396 | [type="search"]::-webkit-search-cancel-button,
397 | [type="search"]::-webkit-search-decoration {
398 | -webkit-appearance: none;
399 | }
400 |
401 | /**
402 | * 1. Correct the inability to style clickable types in iOS and Safari.
403 | * 2. Change font properties to `inherit` in Safari.
404 | */
405 |
406 | ::-webkit-file-upload-button {
407 | -webkit-appearance: button; /* 1 */
408 | font: inherit; /* 2 */
409 | }
410 |
411 | /* Interactive
412 | ========================================================================== */
413 |
414 | /*
415 | * Add the correct display in IE 9-.
416 | * 1. Add the correct display in Edge, IE, and Firefox.
417 | */
418 |
419 | details, /* 1 */
420 | menu {
421 | display: block;
422 | }
423 |
424 | /*
425 | * Add the correct display in all browsers.
426 | */
427 |
428 | summary {
429 | display: list-item;
430 | }
431 |
432 | /* Scripting
433 | ========================================================================== */
434 |
435 | /**
436 | * Add the correct display in IE 9-.
437 | */
438 |
439 | canvas {
440 | display: inline-block;
441 | }
442 |
443 | /**
444 | * Add the correct display in IE.
445 | */
446 |
447 | template {
448 | display: none;
449 | }
450 |
451 | /* Hidden
452 | ========================================================================== */
453 |
454 | /**
455 | * Add the correct display in IE 10-.
456 | */
457 |
458 | [hidden] {
459 | display: none;
460 | }
--------------------------------------------------------------------------------
/libs/vendors_manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vendors_c5f3f028c5008c4719bc",
3 | "content": {
4 | "./node_modules/react/lib/ReactServerRenderingTransaction.js": 135,
5 | "./node_modules/react/react.js": 2,
6 | "./node_modules/react/lib/React.js": 3,
7 | "./node_modules/process/browser.js": 4,
8 | "./node_modules/object-assign/index.js": 5,
9 | "./node_modules/react/lib/ReactChildren.js": 6,
10 | "./node_modules/react/lib/PooledClass.js": 7,
11 | "./node_modules/react/lib/reactProdInvariant.js": 8,
12 | "./node_modules/fbjs/lib/invariant.js": 9,
13 | "./node_modules/react/lib/ReactElement.js": 10,
14 | "./node_modules/react/lib/ReactCurrentOwner.js": 11,
15 | "./node_modules/fbjs/lib/warning.js": 12,
16 | "./node_modules/fbjs/lib/emptyFunction.js": 13,
17 | "./node_modules/react/lib/canDefineProperty.js": 14,
18 | "./node_modules/react/lib/traverseAllChildren.js": 15,
19 | "./node_modules/react/lib/getIteratorFn.js": 16,
20 | "./node_modules/react/lib/KeyEscapeUtils.js": 17,
21 | "./node_modules/react/lib/ReactComponent.js": 18,
22 | "./node_modules/react/lib/ReactNoopUpdateQueue.js": 19,
23 | "./node_modules/fbjs/lib/emptyObject.js": 20,
24 | "./node_modules/react/lib/ReactPureComponent.js": 21,
25 | "./node_modules/react/lib/ReactClass.js": 22,
26 | "./node_modules/react/lib/ReactPropTypeLocations.js": 23,
27 | "./node_modules/fbjs/lib/keyMirror.js": 24,
28 | "./node_modules/react/lib/ReactPropTypeLocationNames.js": 25,
29 | "./node_modules/fbjs/lib/keyOf.js": 26,
30 | "./node_modules/react/lib/ReactDOMFactories.js": 27,
31 | "./node_modules/fbjs/lib/mapObject.js": 28,
32 | "./node_modules/react/lib/ReactElementValidator.js": 29,
33 | "./node_modules/react/lib/ReactComponentTreeDevtool.js": 30,
34 | "./node_modules/react/lib/checkReactTypeSpec.js": 31,
35 | "./node_modules/react/lib/ReactPropTypesSecret.js": 32,
36 | "./node_modules/react/lib/ReactPropTypes.js": 33,
37 | "./node_modules/react/lib/ReactVersion.js": 34,
38 | "./node_modules/react/lib/onlyChild.js": 35,
39 | "./node_modules/react-dom/index.js": 36,
40 | "./node_modules/react/lib/ReactDOM.js": 37,
41 | "./node_modules/react/lib/ReactDOMComponentTree.js": 38,
42 | "./node_modules/react/lib/DOMProperty.js": 39,
43 | "./node_modules/react/lib/ReactDOMComponentFlags.js": 40,
44 | "./node_modules/react/lib/ReactDefaultInjection.js": 41,
45 | "./node_modules/react/lib/BeforeInputEventPlugin.js": 42,
46 | "./node_modules/react/lib/EventConstants.js": 43,
47 | "./node_modules/react/lib/EventPropagators.js": 44,
48 | "./node_modules/react/lib/EventPluginHub.js": 45,
49 | "./node_modules/react/lib/EventPluginRegistry.js": 46,
50 | "./node_modules/react/lib/EventPluginUtils.js": 47,
51 | "./node_modules/react/lib/ReactErrorUtils.js": 48,
52 | "./node_modules/react/lib/accumulateInto.js": 49,
53 | "./node_modules/react/lib/forEachAccumulated.js": 50,
54 | "./node_modules/fbjs/lib/ExecutionEnvironment.js": 51,
55 | "./node_modules/react/lib/FallbackCompositionState.js": 52,
56 | "./node_modules/react/lib/getTextContentAccessor.js": 53,
57 | "./node_modules/react/lib/SyntheticCompositionEvent.js": 54,
58 | "./node_modules/react/lib/SyntheticEvent.js": 55,
59 | "./node_modules/react/lib/SyntheticInputEvent.js": 56,
60 | "./node_modules/react/lib/ChangeEventPlugin.js": 57,
61 | "./node_modules/react/lib/ReactUpdates.js": 58,
62 | "./node_modules/react/lib/CallbackQueue.js": 59,
63 | "./node_modules/react/lib/ReactFeatureFlags.js": 60,
64 | "./node_modules/react/lib/ReactReconciler.js": 61,
65 | "./node_modules/react/lib/ReactRef.js": 62,
66 | "./node_modules/react/lib/ReactOwner.js": 63,
67 | "./node_modules/react/lib/ReactInstrumentation.js": 64,
68 | "./node_modules/react/lib/ReactDebugTool.js": 65,
69 | "./node_modules/react/lib/ReactInvalidSetStateWarningDevTool.js": 66,
70 | "./node_modules/react/lib/ReactHostOperationHistoryDevtool.js": 67,
71 | "./node_modules/react/lib/ReactChildrenMutationWarningDevtool.js": 68,
72 | "./node_modules/fbjs/lib/performanceNow.js": 69,
73 | "./node_modules/fbjs/lib/performance.js": 70,
74 | "./node_modules/react/lib/Transaction.js": 71,
75 | "./node_modules/react/lib/getEventTarget.js": 72,
76 | "./node_modules/react/lib/isEventSupported.js": 73,
77 | "./node_modules/react/lib/isTextInputElement.js": 74,
78 | "./node_modules/react/lib/DefaultEventPluginOrder.js": 75,
79 | "./node_modules/react/lib/EnterLeaveEventPlugin.js": 76,
80 | "./node_modules/react/lib/SyntheticMouseEvent.js": 77,
81 | "./node_modules/react/lib/SyntheticUIEvent.js": 78,
82 | "./node_modules/react/lib/ViewportMetrics.js": 79,
83 | "./node_modules/react/lib/getEventModifierState.js": 80,
84 | "./node_modules/react/lib/HTMLDOMPropertyConfig.js": 81,
85 | "./node_modules/react/lib/ReactComponentBrowserEnvironment.js": 82,
86 | "./node_modules/react/lib/DOMChildrenOperations.js": 83,
87 | "./node_modules/react/lib/DOMLazyTree.js": 84,
88 | "./node_modules/react/lib/DOMNamespaces.js": 85,
89 | "./node_modules/react/lib/setInnerHTML.js": 86,
90 | "./node_modules/react/lib/createMicrosoftUnsafeLocalFunction.js": 87,
91 | "./node_modules/react/lib/setTextContent.js": 88,
92 | "./node_modules/react/lib/escapeTextContentForBrowser.js": 89,
93 | "./node_modules/react/lib/Danger.js": 90,
94 | "./node_modules/fbjs/lib/createNodesFromMarkup.js": 91,
95 | "./node_modules/fbjs/lib/createArrayFromMixed.js": 92,
96 | "./node_modules/fbjs/lib/getMarkupWrap.js": 93,
97 | "./node_modules/react/lib/ReactMultiChildUpdateTypes.js": 94,
98 | "./node_modules/react/lib/ReactDOMIDOperations.js": 95,
99 | "./node_modules/react/lib/ReactDOMComponent.js": 96,
100 | "./node_modules/react/lib/AutoFocusUtils.js": 97,
101 | "./node_modules/fbjs/lib/focusNode.js": 98,
102 | "./node_modules/react/lib/CSSPropertyOperations.js": 99,
103 | "./node_modules/react/lib/CSSProperty.js": 100,
104 | "./node_modules/fbjs/lib/camelizeStyleName.js": 101,
105 | "./node_modules/fbjs/lib/camelize.js": 102,
106 | "./node_modules/react/lib/dangerousStyleValue.js": 103,
107 | "./node_modules/fbjs/lib/hyphenateStyleName.js": 104,
108 | "./node_modules/fbjs/lib/hyphenate.js": 105,
109 | "./node_modules/fbjs/lib/memoizeStringOnly.js": 106,
110 | "./node_modules/react/lib/DOMPropertyOperations.js": 107,
111 | "./node_modules/react/lib/ReactDOMInstrumentation.js": 108,
112 | "./node_modules/react/lib/ReactDOMDebugTool.js": 109,
113 | "./node_modules/react/lib/ReactDOMNullInputValuePropDevtool.js": 110,
114 | "./node_modules/react/lib/ReactDOMUnknownPropertyDevtool.js": 111,
115 | "./node_modules/react/lib/quoteAttributeValueForBrowser.js": 112,
116 | "./node_modules/react/lib/ReactBrowserEventEmitter.js": 113,
117 | "./node_modules/react/lib/ReactEventEmitterMixin.js": 114,
118 | "./node_modules/react/lib/getVendorPrefixedEventName.js": 115,
119 | "./node_modules/react/lib/ReactDOMButton.js": 116,
120 | "./node_modules/react/lib/DisabledInputUtils.js": 117,
121 | "./node_modules/react/lib/ReactDOMInput.js": 118,
122 | "./node_modules/react/lib/LinkedValueUtils.js": 119,
123 | "./node_modules/react/lib/ReactDOMOption.js": 120,
124 | "./node_modules/react/lib/ReactDOMSelect.js": 121,
125 | "./node_modules/react/lib/ReactDOMTextarea.js": 122,
126 | "./node_modules/react/lib/ReactMultiChild.js": 123,
127 | "./node_modules/react/lib/ReactComponentEnvironment.js": 124,
128 | "./node_modules/react/lib/ReactInstanceMap.js": 125,
129 | "./node_modules/react/lib/ReactChildReconciler.js": 126,
130 | "./node_modules/react/lib/instantiateReactComponent.js": 127,
131 | "./node_modules/react/lib/ReactCompositeComponent.js": 128,
132 | "./node_modules/react/lib/ReactNodeTypes.js": 129,
133 | "./node_modules/fbjs/lib/shallowEqual.js": 130,
134 | "./node_modules/react/lib/shouldUpdateReactComponent.js": 131,
135 | "./node_modules/react/lib/ReactEmptyComponent.js": 132,
136 | "./node_modules/react/lib/ReactHostComponent.js": 133,
137 | "./node_modules/react/lib/flattenChildren.js": 134,
138 | "./node_modules/antd/dist/antd.js": 1,
139 | "./node_modules/react/lib/ReactServerUpdateQueue.js": 136,
140 | "./node_modules/react/lib/ReactUpdateQueue.js": 137,
141 | "./node_modules/react/lib/validateDOMNesting.js": 138,
142 | "./node_modules/react/lib/ReactDOMEmptyComponent.js": 139,
143 | "./node_modules/react/lib/ReactDOMTreeTraversal.js": 140,
144 | "./node_modules/react/lib/ReactDOMTextComponent.js": 141,
145 | "./node_modules/react/lib/ReactDefaultBatchingStrategy.js": 142,
146 | "./node_modules/react/lib/ReactEventListener.js": 143,
147 | "./node_modules/fbjs/lib/EventListener.js": 144,
148 | "./node_modules/fbjs/lib/getUnboundedScrollPosition.js": 145,
149 | "./node_modules/react/lib/ReactInjection.js": 146,
150 | "./node_modules/react/lib/ReactReconcileTransaction.js": 147,
151 | "./node_modules/react/lib/ReactInputSelection.js": 148,
152 | "./node_modules/react/lib/ReactDOMSelection.js": 149,
153 | "./node_modules/react/lib/getNodeForCharacterOffset.js": 150,
154 | "./node_modules/fbjs/lib/containsNode.js": 151,
155 | "./node_modules/fbjs/lib/isTextNode.js": 152,
156 | "./node_modules/fbjs/lib/isNode.js": 153,
157 | "./node_modules/fbjs/lib/getActiveElement.js": 154,
158 | "./node_modules/react/lib/SVGDOMPropertyConfig.js": 155,
159 | "./node_modules/react/lib/SelectEventPlugin.js": 156,
160 | "./node_modules/react/lib/SimpleEventPlugin.js": 157,
161 | "./node_modules/react/lib/SyntheticAnimationEvent.js": 158,
162 | "./node_modules/react/lib/SyntheticClipboardEvent.js": 159,
163 | "./node_modules/react/lib/SyntheticFocusEvent.js": 160,
164 | "./node_modules/react/lib/SyntheticKeyboardEvent.js": 161,
165 | "./node_modules/react/lib/getEventCharCode.js": 162,
166 | "./node_modules/react/lib/getEventKey.js": 163,
167 | "./node_modules/react/lib/SyntheticDragEvent.js": 164,
168 | "./node_modules/react/lib/SyntheticTouchEvent.js": 165,
169 | "./node_modules/react/lib/SyntheticTransitionEvent.js": 166,
170 | "./node_modules/react/lib/SyntheticWheelEvent.js": 167,
171 | "./node_modules/react/lib/ReactMount.js": 168,
172 | "./node_modules/react/lib/ReactDOMContainerInfo.js": 169,
173 | "./node_modules/react/lib/ReactDOMFeatureFlags.js": 170,
174 | "./node_modules/react/lib/ReactMarkupChecksum.js": 171,
175 | "./node_modules/react/lib/adler32.js": 172,
176 | "./node_modules/react/lib/findDOMNode.js": 173,
177 | "./node_modules/react/lib/getHostComponentFromComposite.js": 174,
178 | "./node_modules/react/lib/renderSubtreeIntoContainer.js": 175,
179 | "./node_modules/isomorphic-fetch/fetch-npm-browserify.js": 176,
180 | "./node_modules/whatwg-fetch/fetch.js": 177,
181 | "./node_modules/jquery/dist/jquery.js": 178,
182 | "./node_modules/react-redux/lib/index.js": 179,
183 | "./node_modules/react-redux/lib/components/Provider.js": 180,
184 | "./node_modules/react-redux/lib/utils/storeShape.js": 181,
185 | "./node_modules/react-redux/lib/utils/warning.js": 182,
186 | "./node_modules/react-redux/lib/components/connect.js": 183,
187 | "./node_modules/react-redux/lib/utils/shallowEqual.js": 184,
188 | "./node_modules/react-redux/lib/utils/wrapActionCreators.js": 185,
189 | "./node_modules/redux/lib/index.js": 186,
190 | "./node_modules/redux/lib/createStore.js": 187,
191 | "./node_modules/lodash/isPlainObject.js": 188,
192 | "./node_modules/lodash/_getPrototype.js": 189,
193 | "./node_modules/lodash/_overArg.js": 190,
194 | "./node_modules/lodash/_isHostObject.js": 191,
195 | "./node_modules/lodash/isObjectLike.js": 192,
196 | "./node_modules/symbol-observable/index.js": 193,
197 | "./node_modules/symbol-observable/ponyfill.js": 194,
198 | "./node_modules/redux/lib/combineReducers.js": 195,
199 | "./node_modules/redux/lib/utils/warning.js": 196,
200 | "./node_modules/redux/lib/bindActionCreators.js": 197,
201 | "./node_modules/redux/lib/applyMiddleware.js": 198,
202 | "./node_modules/redux/lib/compose.js": 199,
203 | "./node_modules/hoist-non-react-statics/index.js": 200,
204 | "./node_modules/invariant/browser.js": 201,
205 | "./node_modules/react-router/lib/index.js": 202,
206 | "./node_modules/react-router/lib/RouteUtils.js": 203,
207 | "./node_modules/react-router/lib/PropTypes.js": 204,
208 | "./node_modules/react-router/lib/deprecateObjectProperties.js": 205,
209 | "./node_modules/react-router/lib/routerWarning.js": 206,
210 | "./node_modules/warning/browser.js": 207,
211 | "./node_modules/react-router/lib/InternalPropTypes.js": 208,
212 | "./node_modules/react-router/lib/PatternUtils.js": 209,
213 | "./node_modules/react-router/lib/Router.js": 210,
214 | "./node_modules/history/lib/createHashHistory.js": 211,
215 | "./node_modules/history/node_modules/warning/browser.js": 212,
216 | "./node_modules/history/lib/Actions.js": 213,
217 | "./node_modules/history/lib/PathUtils.js": 214,
218 | "./node_modules/history/lib/ExecutionEnvironment.js": 215,
219 | "./node_modules/history/lib/DOMUtils.js": 216,
220 | "./node_modules/history/lib/DOMStateStorage.js": 217,
221 | "./node_modules/history/lib/createDOMHistory.js": 218,
222 | "./node_modules/history/lib/createHistory.js": 219,
223 | "./node_modules/deep-equal/index.js": 220,
224 | "./node_modules/deep-equal/lib/keys.js": 221,
225 | "./node_modules/deep-equal/lib/is_arguments.js": 222,
226 | "./node_modules/history/lib/AsyncUtils.js": 223,
227 | "./node_modules/history/lib/createLocation.js": 224,
228 | "./node_modules/history/lib/runTransitionHook.js": 225,
229 | "./node_modules/history/lib/deprecate.js": 226,
230 | "./node_modules/history/lib/useQueries.js": 227,
231 | "./node_modules/history/node_modules/query-string/index.js": 228,
232 | "./node_modules/strict-uri-encode/index.js": 229,
233 | "./node_modules/react-router/lib/createTransitionManager.js": 230,
234 | "./node_modules/react-router/lib/computeChangedRoutes.js": 231,
235 | "./node_modules/react-router/lib/TransitionUtils.js": 232,
236 | "./node_modules/react-router/lib/AsyncUtils.js": 233,
237 | "./node_modules/react-router/lib/isActive.js": 234,
238 | "./node_modules/react-router/lib/getComponents.js": 235,
239 | "./node_modules/react-router/lib/makeStateWithLocation.js": 236,
240 | "./node_modules/react-router/lib/matchRoutes.js": 237,
241 | "./node_modules/react-router/lib/RouterContext.js": 238,
242 | "./node_modules/react-router/lib/getRouteParams.js": 239,
243 | "./node_modules/react-router/lib/RouterUtils.js": 240,
244 | "./node_modules/react-router/lib/Link.js": 241,
245 | "./node_modules/react-router/lib/IndexLink.js": 242,
246 | "./node_modules/react-router/lib/withRouter.js": 243,
247 | "./node_modules/react-router/lib/IndexRedirect.js": 244,
248 | "./node_modules/react-router/lib/Redirect.js": 245,
249 | "./node_modules/react-router/lib/IndexRoute.js": 246,
250 | "./node_modules/react-router/lib/Route.js": 247,
251 | "./node_modules/react-router/lib/History.js": 248,
252 | "./node_modules/react-router/lib/Lifecycle.js": 249,
253 | "./node_modules/react-router/lib/RouteContext.js": 250,
254 | "./node_modules/react-router/lib/useRoutes.js": 251,
255 | "./node_modules/react-router/lib/RoutingContext.js": 252,
256 | "./node_modules/react-router/lib/match.js": 253,
257 | "./node_modules/react-router/lib/createMemoryHistory.js": 254,
258 | "./node_modules/history/lib/useBasename.js": 255,
259 | "./node_modules/history/lib/createMemoryHistory.js": 256,
260 | "./node_modules/react-router/lib/useRouterHistory.js": 257,
261 | "./node_modules/react-router/lib/applyRouterMiddleware.js": 258,
262 | "./node_modules/react-router/lib/browserHistory.js": 259,
263 | "./node_modules/history/lib/createBrowserHistory.js": 260,
264 | "./node_modules/react-router/lib/createRouterHistory.js": 261,
265 | "./node_modules/react-router/lib/hashHistory.js": 262,
266 | "./node_modules/redux-promise-middleware/dist/index.js": 263,
267 | "./node_modules/redux-promise-middleware/dist/isPromise.js": 264,
268 | "./node_modules/redux-thunk/lib/index.js": 265,
269 | "./node_modules/superagent/lib/client.js": 266,
270 | "./node_modules/component-emitter/index.js": 267,
271 | "./node_modules/superagent/lib/request-base.js": 268,
272 | "./node_modules/superagent/lib/is-object.js": 269,
273 | "./node_modules/superagent/lib/request.js": 270
274 | }
275 | }
--------------------------------------------------------------------------------