【问题标题】:exporting single module as library with webpack使用 webpack 将单个模块导出为库
【发布时间】:2017-03-17 04:16:32
【问题描述】:

我有一个 web 应用程序,其中所有的 javascript 都捆绑到 webpack 中。

我想通过客户端 api 向用户公开部分方法。

我想我可以通过图书馆做到这一点

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

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

【问题讨论】:

    标签: webpack


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 2018-07-09
      • 1970-01-01
      • 2017-05-08
      • 2018-03-15
      相关资源
      最近更新 更多