javascript - 如何配置 webpack 以支持所有条件要求?
问题描述
我收到一个错误:XMLHttpRequest is not defined
通过在 nodejs 中运行捆绑的代码。
在它的源代码中axios
是:
function getDefaultAdapter() {
var adapter;
if (typeof XMLHttpRequest !== 'undefined') {
// For browsers use XHR adapter
adapter = require('./adapters/xhr');
} else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
// For node use HTTP adapter
adapter = require('./adapters/http');
}
return adapter;
}
但是被 webpack@5 捆绑后,所有的条件都进入了同一个模块13
,这就是错误发生的地方:
function getDefaultAdapter() {
var adapter;
if (typeof XMLHttpRequest !== 'undefined') {
// For browsers use XHR adapter
adapter = __webpack_require__(13);
} else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
// For node use HTTP adapter
adapter = __webpack_require__(13);
}
return adapter;
}
但我真的不知道为什么以及如何解决这个问题。这是迷你仓库:代码示例
解决方案
只需设置 webpack.config.js
{
// ...
target: ['web', 'node'],
// ...
}
我以为 webpack5 不支持 target 属性,这显然是我的错误
推荐阅读
- python - Base64 图像未在 Internet Explorer 中显示
- javascript - 用一个 JQuery 请求请求两个文件
- mysql - 错误代码:1215。--无法添加外键约束
- django - Django 查询 - 如何在 5 分钟内获取并发记录数?
- google-api - 是否可以使用 People API 访问和创建外部 G Suite 域联系人?
- reactjs - React Native:将 responsejson 传递给其他屏幕
- swift - iOS奇怪的状态栏颜色
- graphql - 从 gatsby-plugin-feed 中的 RSS 返回图像
- java - 在非弹簧注入类中使用 application.properties
- java - 这个工厂方法问题的更好解决方案是什么