首页 > 解决方案 > 如何在 webpack 中的 bundle 之间摇树依赖关系?

问题描述

我正在使用 webpack 创建一个电子应用程序,因此我必须为“preload”、“main”和“render”入口点使用不同的目标,这就是为什么我必须构建 3 个不同的包。问题是,如果我将“main”中使用的模块中的枚举导入“preload”,它不仅会导入枚举,而且还会在为开发编译和为生产编译时导入整个模块只是好一点,因为它导入了该模块导入的任何内容。前任:

//main.ts
import * as fs from "fs";

export enum Foo{
Bar
}

//preload.ts
import { Foo } from "./main";

var va = Foo.Bar;

//(compiled for production) preload.ts -> preload.js
const fs = require(fs)
...

正如你可以看到它在 preload.js 中导入“fs”甚至很难它不使用它,只是因为我正在导入一个枚举,我还没有测试过,但我确信这不会发生在不同的条目之间带有 webpack 和 tree-shaking 的点,但仅限于包之间

所以我想问一下是否有人碰巧知道一种只导入所需代码的方法,不一定与webpack有关
谢谢

标签: javascripttypescriptwebpackduplicatesbundle

解决方案


推荐阅读