我要构建要在AWS Lambda上使用的文件,并首先将它们与Webpack捆绑在一起。我注意到有些文件有效(曝光exports.default
)而有些文件没有。我发现实际导入其他文件的文件可以工作,而任何独立的文件都不会。这是每个人的肉:
import
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__external__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__external___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__external__);
exports.default = (event, context, callback) => {
callback(null, event.name);
};
/***/ }),
/* 1 */
/***/ (function(module, exports) {
/***/ })
import External from './external'
exports.default = (event, context, callback) => {
callback(null, event.name);
};
import
/***/ (function(module, exports) {
exports.default = (event, context, callback) => {
callback(null, event.name);
};
/***/ })
exports.default = (event, context, callback) => {
callback(null, event.name);
};
您会注意到第二个参数在第一个参数中被命名为__webpack_exports__
,在第二个参数中被exports
命名,我只能假设它与模块正在尝试的实际exports
发生冲突出口。
有没有办法确保我能够真正构建这些捆绑包,无论它们是否是独立文件?
我使用的是webpack版本3.11.0
。
答案 0 :(得分:0)
结果证明,将以下内容添加到webpack配置中的输出配置可以解决此问题
library: '',
libraryTarget: 'commonjs'