这是一个令我困惑的非常奇怪的问题。在使用create-react-app创建React应用程序后,我添加了这两个文件:
TestMod.js
const TestMod = {
doSomething() {
}
};
module.exports = TestMod;
Test.js
import React, { Component } from 'react';
import TestMod from './TestMod';
export default class Test extends Component {
render() {
TestMod.doSomething();
return <div>Testing</div>;
}
}
我在Test
中包含App
组件,运行npm start
,一切正常。然后我将doSomething更改为async
,就像这样
TestMod.js
const TestMod = {
async doSomething() {
}
};
module.exports = TestMod;
现在我收到编译错误:
[1] ./src/Test.js
[1] 26:6-13 "export 'default' (imported as 'TestMod') was not found in './TestMod'
为什么呢?我知道如何让它再次发挥作用:
TestMod.js
export const TestMod = {
async doSomething() {
}
};
Test.js
import React, { Component } from 'react';
import {TestMod} from './TestMod';
export default class Test extends Component {
render() {
TestMod.doSomething();
return <div>Testing</div>;
}
}
但是我想要理解的是为什么使函数async
导致module.exports在React端中断。 (顺便说一下,它在Node.js方面仍然可以正常工作)。
谢谢, 阿尔瓦罗