babel 没有 tree shaking 吗?
babel doesn't have tree shaking?
在我的 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
都包含在构建中。
Q1。这是正确的假设吗?
Q2。我怎样才能仍然进行 tree shaking 以便只导入 MyFunc
?我现在不能使用 webpack。如果没有 webpack/rollup 就不可能,只有 babel
吗?
Babel 在个人级别处理文件。 Tree-shaking 需要在项目范围内了解哪些文件正在使用和未使用,因此 Babel 不会,也不能这样做。为此,您需要 Webpack 或 Rollup 或其他一些 build/bundling 工具。
在我的 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
都包含在构建中。
Q1。这是正确的假设吗?
Q2。我怎样才能仍然进行 tree shaking 以便只导入 MyFunc
?我现在不能使用 webpack。如果没有 webpack/rollup 就不可能,只有 babel
吗?
Babel 在个人级别处理文件。 Tree-shaking 需要在项目范围内了解哪些文件正在使用和未使用,因此 Babel 不会,也不能这样做。为此,您需要 Webpack 或 Rollup 或其他一些 build/bundling 工具。