mirrorjs/mirror

为什么打包时间好长啊

wuyanghou opened this issue · 6 comments

就简单一个demo打包时间都20多秒

请问是哪个 demo?能否提供一下你的系统版本、node 版本号?

examples/todo 为例,我在自己的 MBA 2015, Core i5, 8G 内存电脑上,使用 node v8.7.0 的打包时间是 6.3 秒:

examples/todo (master ✔) » npm run build

> cross-env NODE_ENV=production webpack -p

Hash: d2ac8283846c66c81be5
Version: webpack 2.7.0
Time: 6333ms
     Asset    Size  Chunks             Chunk Names
    app.js   80 kB       0  [emitted]  main
app.js.map  574 kB       0  [emitted]  main
   [2] ./~/_react-router@4.1.2@react-router/es/index.js 637 bytes {0} [built]
   [4] ./~/_mirrorx@0.2.2@mirrorx/lib/index.js 1.09 kB {0} [built]
  [10] ./~/_mirrorx@0.2.2@mirrorx/lib/actions.js 1.69 kB {0} [built]
  [11] ./~/_mirrorx@0.2.2@mirrorx/lib/defaults.js 837 bytes {0} [built]
  [23] ./~/_mirrorx@0.2.2@mirrorx/lib/hook.js 375 bytes {0} [built]
  [24] ./~/_mirrorx@0.2.2@mirrorx/lib/model.js 2.27 kB {0} [built]
  [25] ./~/_mirrorx@0.2.2@mirrorx/lib/router.js 2.15 kB {0} [built]
  [28] ./~/_react-redux@5.0.6@react-redux/es/index.js 230 bytes {0} [built]
  [40] ./src/index.js 417 bytes {0} [built]
  [48] ./src/containers/TodoList.js 2.02 kB {0} [built]
  [62] ./~/_mirrorx@0.2.2@mirrorx/lib/render.js 1.25 kB {0} [built]
  [81] ./~/_react-router-dom@4.1.2@react-router-dom/es/Redirect.js 51 bytes {0} [built]
  [86] ./~/_react-router-dom@4.1.2@react-router-dom/es/index.js 925 bytes {0} [built]
  [91] ./~/_react-router@4.1.2@react-router/es/MemoryRouter.js 2.12 kB {0} [built]
 [107] multi ./src/index.js 28 bytes {0} [built]
    + 93 hidden modules

user-dashboard-example这个demo,只多引入了antd而已
我的也是Core i5 8g内存 node是6.10.0

user-dashboard-example@0.1.0 build E:\user-dashboard-example
cross-env NODE_ENV=production webpack -p

Hash: 6618ed17c43479176551
Version: webpack 2.7.0
Time: 21556ms
Asset Size Chunks Chunk Names
app.js 684 kB 0 [emitted] [big] main
app.js.map 4.04 MB 0 [emitted] main
[13] .//_style-loader@0.18.2@style-loader/lib/addStyles.js 8.7 kB {0} [built]
[33] ./
/_mirrorx@0.2.10@mirrorx/lib/index.js 2.01 kB {0} [built]
[58] .//_mirrorx@0.2.10@mirrorx/lib/defaults.js 1.31 kB {0} [built]
[99] ./
/_mirrorx@0.2.10@mirrorx/lib/actions.js 1.75 kB {0} [built]
[109] .//_react-router@4.2.0@react-router/es/index.js 637 bytes {0} [built]
[153] ./
/_mirrorx@0.2.10@mirrorx/lib/hook.js 375 bytes {0} [built]
[155] .//_mirrorx@0.2.10@mirrorx/lib/router.js 2.4 kB {0} [built]
[173] ./
/_react-redux@5.0.6@react-redux/es/index.js 230 bytes {0} [built]
[192] ./src/index.js 549 bytes {0} [built]
[274] ./src/containers/Users.js 1.27 kB {0} [built]
[344] .//_css-loader@0.28.7@css-loader!./src/index.css 207 bytes {0} [built]
[425] ./
/_mirrorx@0.2.10@mirrorx/lib/render.js 1.32 kB {0} [built]
[517] ./~/_react-router-dom@4.2.2@react-router-dom/es/index.js 925 bytes {0} [built]
[546] ./src/index.css 1.08 kB {0} [built]
[552] multi ./src/index.js 28 bytes {0} [built]
+ 538 hidden modules

E:\user-dashboard-example>

@wuyanghou 是的,是因为将 antd 打包进去导致的。

你可以自己试试,在 webpack.config.js 里将 antd external 排除掉,同时 .babelrc 里将 import 这个 plugin 去掉

那能再请问个问题么,为什么我用dllplugin预先将第三方库打包,再去build项目的时候打包时间和大小并没用什么变化?
这是dll.js
image
这是webpack.config.js

image

不好意思,是我弄错了,抱歉