【问题标题】:Does npm build include unnecessary functionalities of a package as wellnpm build 是否也包含不必要的包功能
【发布时间】:2019-09-02 11:31:28
【问题描述】:

假设,我选择使用来自 React-Icon 库的图标。

import {HomeIcon} from 'react-icons'

由于库中有大量图标,而我只使用了其中一个。在 NPM BUILD 期间,node.js 是否还包含库中可用的全部图标或仅包含我已导入的图标。

其他库也是如此。最终的 npm 构建是否仅包含我已导入的函数,还是在最终构建中包含整个库?

【问题讨论】:

  • npm build 执行package.json#scripts 中的条目告诉它的任何操作。是否进行任何摇树或其他优化取决于它到底是什么。

标签: javascript reactjs


【解决方案1】:

如果您使用基于标准webpack 的配置,这取决于您的导入。它将包含所有内容到您的包中,这是您入口点的依赖树的一部分。例如,如果您 import * as _ from "lodash" 它将包含整个库,而 import has from "lodash/has" 将仅包含该函数。

要进一步减小包大小,您可以应用 tree shaking、代码拆分、缩小等。查看webpack documentation

【讨论】:

    猜你喜欢
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 2021-12-23
    • 2018-11-08
    • 2020-03-16
    • 2011-10-07
    • 1970-01-01
    相关资源
    最近更新 更多