我有这个文件:
AxiosExtension.js
import Axios from 'axios';
//eventually add code here, if I can get this simple file working
export default Axios;
我正在通过 webpack babel loader 运行 AxiosExtension,如下所示:
Webpack Babel-Loader
{
test: /\.js$/,
loader: 'babel-loader',
include: [
path.join(__dirname, '../../AxiosExtension'),
]
},
我在多个文件中包含 AxiosExtension,如下所示:
我的代码.js
import Axios from 'path/to/file/AxiosExtension';
当我在构建 webpack 后在浏览器中加载 MyCode.js 时,出现此错误:
控制台错误
Uncaught TypeError: window._interopRequireDefault is not a function
当我在 Chrome Sources 选项卡中查看我的 AxiosExtension.js 文件时,babel 的输出如下:
Babel 之后的 AxiosExtension.js 最终输出
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _axios = require('axios');
window._axios2 = window._interopRequireDefault(_axios);
window._interopRequireDefault = function(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = window._axios2.default;
看起来_interopRequireDefault
是使用后定义的。关于我的 webpack/babel 配置可能有什么问题的任何想法?
.babelrc
{
"presets": ["es2015"]
}