javascript - 巴别塔没有摇树吗?
问题描述
在我的 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')
这不知何故意味着摇树不起作用,整个package-example
被包含在构建中。
Q1。这是正确的假设吗?
Q2。我怎样才能仍然摇晃树以便只MyFunc
被导入?我现在不能使用 webpack。没有 webpack/rollup 就不可能babel
吗?
解决方案
Babel 在单个级别处理文件。Tree-shaking 需要在项目范围内了解哪些文件正在被使用,哪些文件没有被使用,因此 Babel 不会也不能这样做。为此,您需要 Webpack 或 Rollup 或其他一些构建/捆绑工具。
推荐阅读
- ajax - 在选择 Laravel 5.8 中使用 AJAX 时出现错误 500
- python - 如何删除列表形式的数据帧的重复索引?
- python - 识别python函数中全局变量的无意读/写?例如使用静态分析?
- acumatica - 如何在 Acumatica 移动框架中使用移动设备的相机
- python - 为什么Django rest框架中的时间不正确
- azure-devops - Azure devops 未在管道的报告(xml)部分的测试套件下显示测试套件名称
- xamarin - 无法从 Xamarin VS 2019 将 IPA 文件分发到 App Store
- newman - 邮递员模式验证到记者-htmlextra
- oracle - 如何循环多个条件
- c++ - C++ 类和空数组