Webpack:如何在一个全局变量下隐藏 export functions/variables?

Webpack: How to hide export functions/variables under one global variable?

我正在改变 TypeScript 库的构建方式,从 gulp concat + typescript 编译器到 Webpack。

库现在可以与 require/import 个关键字一起使用。但是,我必须保留以经典方式使用库的能力,包括脚本到 html header.

之前所有functions/variables都隐藏在全局变量Survey。为了实现它,使用了 typescript namespace Survey {} 并且都需要 classes/variables 使用 export 关键字。

我必须删除 命名空间 ,现在,为了达到同样的效果,有一个 全局变量, 我必须包括所有需要的将 classes/variables 导出到构建入口点文件:

https://github.com/dmitrykurmanov/surveyjs/blob/bd62cd7388960a0230767b3bcf97e6332ee99cf3/src/entries/koBootstrapIndex.js

有没有其他方法可以在不创建这个庞大列表的情况下实现同样的效果?

您可以使用 ES6 重新导出,而不是导入、组合成对象文字然后重新导出(通过 module.exports):

import … from …
export … // module.exports = {…};

变成

export … from …

因此您仍然需要构建一个标识符列表,但您不必再重复它们。