Webpack 使用网页包将单个模块导出为库

Webpack 使用网页包将单个模块导出为库,webpack,Webpack,我有一个web应用程序,它将所有javascript捆绑到web包中 我想通过客户端api向用户公开方法的子集 我想我可以通过图书馆来做这件事 output: { path: BUILD_DIR, filename: 'bundle.js', publicPath: 'https://localhost:3000', library: 'myLibrary' } 这样,我可以在控制台中获取myLibary,但它是一个空对象。我不希望包中的每个方法都公开,但

我有一个web应用程序,它将所有javascript捆绑到web包中

我想通过客户端api向用户公开方法的子集

我想我可以通过图书馆来做这件事

 output: {
    path: BUILD_DIR,
    filename: 'bundle.js',
    publicPath: 'https://localhost:3000',
    library: 'myLibrary'
  }

这样,我可以在控制台中获取
myLibary
,但它是一个空对象。我不希望包中的每个方法都公开,但我希望特定的公开方法可用,但我不知道如何做到这一点。

您需要在入口点导出您想要公开的内容。它的工作原理与常规导出一样,您可以只包含您想要的导出。例如,对于此入口点:

import module1 from './module';
import publicModule from './otherModule';
import privateModule from './privateModule';

function privateFun() {
  console.log('not exposed');
}

export function publicFun() {
  console.log('is exposed as myLibrary.public');
}

// Re-export, with possible rename
export { publicModule, module1 as firstModule };
只有导出的内容才会公开,如果要导出其他模块,请导入并重新导出它们。在这种情况下,您可以访问以下属性:

myLibrary.firstModule
myLibrary.publicFun
myLibrary.publicModule