Webpack 仅使用成员时包含默认导出的网页包

Webpack 仅使用成员时包含默认导出的网页包,webpack,ecmascript-6,code-splitting,Webpack,Ecmascript 6,Code Splitting,网页包似乎包含了一些额外的代码而不是分块,也许我没有正确理解import import {detector as d1} from './summernote'; class Detector { loadModules() { // assume d1() returns false d1() ? System.import('./summernote').then(this.instantiateModule) : undefined; }

网页包似乎包含了一些额外的代码而不是分块,也许我没有正确理解
import

import {detector as d1} from './summernote';

class Detector {
    loadModules() {
        // assume d1() returns false
        d1() ? System.import('./summernote').then(this.instantiateModule) : undefined;
    }
    instantiateModule(importedModule) {
        new importedModule.default();
    }
}

export default Detector;
当我不希望它绑定Summernote时,它似乎正在绑定Summernote(来自“/Summernote”的默认导出)

如果我删除初始导入并将
true
替换为
d1()
它将正确地分块Summernote


有没有办法使它在bundle中包含成员{detector},但将Summernote默认导出放在一个单独的块中?

没有。一旦导入库,整个库将被添加到包中。分块并不意味着将同一个库分割成块——它意味着将应用程序代码和依赖项分割成块。您试图实现的目标与webpack的略有不同。同时使用
import
import()
是没有用的。就用一个。如果要进行代码拆分,请使用后者。如果你想把所有东西都捆绑在一起,使用第一个。