我有一个网络应用程序,其中所有的javascript都捆绑到了webpack中。
我想通过clientide api向用户公开方法的子集。
我以为我可以通过图书馆
来做到这一点 output: {
path: BUILD_DIR,
filename: 'bundle.js',
publicPath: 'https://localhost:3000',
library: 'myLibrary'
}
这样做,我可以在控制台中获得myLibary
,但它是一个空对象。我并不希望公开发布的所有方法都公开,但我希望提供具体的公共方法,但我无法弄清楚如何做到这一点。
答案 0 :(得分:1)
您需要在入口点导出要公开的内容。它的工作方式与常规导出类似,您只能包含所需的导出。例如,使用此入口点:
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