我最近将我的webpack从verion 1.12.9升级到了1.12.13,babel从5升到6,这是我升级后代码中断的一部分:
const DevTools = require('../components/DevTools.js')
DevTools.instrument()
我收到以下错误:
Uncaught TypeError: DevTools.instrument is not a function
然后我在致电console.log(DevTools)
之前添加了instrument()
,这是Chrome控制台中的输出:
> Object {__esModule: true}
> __esModule: true
> default: DevTools(props, context)
> __proto__: Object
要解决此问题,我使用import
代替require
:
import DevTools from '../components/DevTools.js'
再次打印console.log(DevTools)
即可:
DevTools(props, context) {
_classCallCheck(this, DevTools);
var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
if (!props.store && !…
这正是我想要导入并正常工作的原因。
有人知道为什么会这样吗?这个错误是由于webpack或babel的升级造成的吗?
答案 0 :(得分:0)
除了始终导入DevTools之外,您还可以通过添加default
const DevTools = require('../components/DevTools.js').default;