这只是我今天的想法,我没有看到很多信息,所以我将分享这些奇怪的案例以及我如何亲自解决它们(如果有更好的方法请发表评论,但同时这可能对其他人有所帮助^^ )
在常规模块中,您可以执行以下操作来导出函数/库/对象/数据:
// 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 方法访问内容。
在某些情况下,您可能会发现有必要在webpack之外导出。(即你正在尝试使用 webpack 构建一个库,并且你希望它可以被其他人访问)。这基本上意味着您需要访问原始module
变量,但 webpack 不会像使用__non_webpack_require__
.
另请参阅:从外部 webpack 包导入运行时模块