希望您可以帮助我: 我有一个打字稿项目“ APP”,该项目使用也是由我开发的UI库(我们称之为“ ui”)。
现在,“ ui”具有可以使用的不同皮肤,每个皮肤本身就是另一个库(“ ui-skin-red”,“ ui-skin-blue”等)。
因此,UI会根据“ APP”的需要动态导入皮肤:
load(skin:Skin):Promise<UI> {
switch(skin){
case skin.RED:
import("ui-skin-red").then( ui => resolve(ui) );
break;
case skin.BLUE:
import("ui-skin-blue").then( ui => resolve(ui) );
break;
... etc ...
}
}
当我将“ ui”安装到“ APP”中时(使用npm install,因为它在NPM注册表中),它也会安装所有皮肤,因为它们是“ ui”的依赖项。
我不介意它们位于node_modules
文件夹中,但我确实希望捆绑包仅具有实际需要的皮肤“ APP”。
有什么方法可以指示Webpack这样做吗?我尝试过使用splitChunks,但是它们仍然可以编译所有皮肤。