【发布时间】:2019-08-18 20:58:31
【问题描述】:
我有一个生产应用程序,其包大小为 8.06MB。
# Console log from npm build
File sizes after gzip:
1.67 MB build/static/js/3.73cf59a2.chunk.js
794.29 KB build/typescript.worker.js
131.13 KB build/css.worker.js
104.68 KB build/html.worker.js
104.02 KB build/static/css/3.01bcafd3.chunk.css
67.03 KB build/static/js/main.6acf560d.chunk.js
49.64 KB build/json.worker.js
25.12 KB build/editor.worker.js
7.99 KB build/static/js/54.afc981d1.chunk.js
...
关于构建应用程序并运行source-map-explorer
npm run build
source-map-explorer 'build/static/js/*.js'
我收到来自build 的警告:
捆绑包的大小明显大于建议的大小。
我想减少捆绑包的大小,根据我所做的研究,它得出的结论是:
- 寻找大型图书馆的替代品。
- 根据我的需要制作一个“精简”版本的库。
- 按需导入单个组件:
import Button from 'antd/es/button';
import { Button } from 'antd'; // Imports all library
- Code-splitting.
- 将库移动到
devDependencies
我有一些问题:
- 为什么小包很重要?
- 推荐的捆绑包大小是多少,为什么?
- 我了解代码拆分会将您的代码拆分为多个包,然后可以按需或并行加载这些包。它对减小捆绑包大小有何帮助?
- 如何确定库是否需要成为
devDependencies的一部分 - 还有其他方法吗?
【问题讨论】:
-
你的包的压缩包大小是多少?您可能还想跳入 tree-shaking。
标签: javascript npm webpack-production