Webpack外部导出
这只是我今天想的,我没有看到很多信息,所以我将分享这个怪异的案例以及我个人如何解决的案例(如果有更好的方法,请发表评论,但这同时可能会对其他人有所帮助^^)
在常规模块中,您将执行以下操作来导出函数/库/对象/数据:
// regular NodeJS way:
module.exports = data;
// ES6 way
// (will get transpiled to the regular way using the module variable by webpack)
export data;
default export data;
[通常在编译库时使用babel
或tsc
,但是如果出于某种原因,您不仅希望编译(转换)您的库,而且希望使用webpack对其进行打包,则会遇到这种情况。
[您知道,在webpack捆绑软件中,module
变量在捆绑软件中是本地的(每个模块/文件都被一个函数包装,其中module
是一个参数=本地变量),因此没有任何东西真正输出到捆绑软件之外,由webpack很好地管理。
这意味着您也无法使用常规的require / import方法访问内容。
在某些情况下,您可能需要导出outside Webpack。 (即您正在尝试使用webpack构建一个库,并且希望其他人可以访问它)。这基本上意味着您需要访问原始的module
变量,但webpack不会像__non_webpack_require__
那样暴露它。
另请参见:Importing runtime modules from outside webpack bundle
这只是我今天想的,我没有看到很多信息,所以我将分享这个怪异的案例以及我个人如何解决的案例(如果有更好的方法,请发表评论,但是...
回答如下:解决方案是创建我们自己的__non_webpack_module__
(就像webpack与__non_webpack_require__
一样。