我在加载a library时遇到问题,该问题是使用Webpack在UMD下导出的。
const AllErrorHandler = require('all-error-handler')
let errorHandler = new AllErrorHandler((err) => {
console.log(`Error occured - ${err}`);
})
我收到的错误是:
Uncaught TypeError: Class constructor s cannot be invoked without 'new'
这是我简单的webpack配置
output: {
filename: "./my-bundle.js",
libraryTarget: "umd",
umdNamedDefine: true
}
这是我如何导出库的示例
if (typeof define === 'function' && define.amd) {
define([], AllErrorHandler);
} else if (typeof exports !== 'undefined') {
if (typeof module !== 'undefined' && module.exports) {
exports = module.exports = AllErrorHandler
}
exports.AllErrorHandler = AllErrorHandler
} else {
root.AllErrorHandler = AllErrorHandler
}
软件包导出错误还是Webpack需要更多配置才能正确加载?
谢谢!
我修复了更新出口问题的问题
if (typeof define === "function" && define.amd) {
define([], function() {
return (root.AllErrorHandler = AllErrorHandler);
});
} else if (typeof exports !== "undefined") {
if (typeof module !== "undefined" && module.exports) {
exports = module.exports = AllErrorHandler;
}
exports.AllErrorHandler = AllErrorHandler;
} else {
root.AllErrorHandler = AllErrorHandler;
}
并且可以使用require语法正常工作,但是不能使用import .. from。有办法解决吗?我猜想它来自webpack配置。