【问题标题】:babel doesn't have tree shaking?巴别塔没有摇树吗?
【发布时间】:2021-08-25 09:13:41
【问题描述】:

在我的 package.json 中,我有以下内容

"build": "babel src --out-dir dist --source-maps",

在我的一个js 文件中,我有

import { MyFunc } from 'package-example`

然后我运行npm run build。它构建,创建一个 dist 文件夹。

不知何故,在我构建的文件中,我发现了这个:

const package-example = require('package-example')

这不知何故意味着 tree shaking 不起作用,整个 package-example 被包含在构建中。

第一季度。这是正确的假设吗?

第二季度。我怎样才能仍然有摇树,以便只有 MyFunc 被导入?我现在不能使用 webpack。如果只有babel,没有 webpack/rollup 是不可能的吗?

【问题讨论】:

    标签: javascript webpack babeljs


    【解决方案1】:

    Babel 在单个级别处理文件。 Tree-shaking 需要在项目范围内了解哪些文件正在被使用,哪些文件没有被使用,因此 Babel 不会也不能这样做。为此,您需要 Webpack 或 Rollup 或其他一些构建/捆绑工具。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 2019-07-14
      • 2021-11-26
      • 2018-10-15
      • 2020-02-19
      • 2021-07-17
      相关资源
      最近更新 更多