我在模块A中有这个Typescript文件:
// somefile.tsx
import { remAuto } from 'tidee-life-theme';
在模块B中,我有index.js文件导出remAuto
:
// index.js
import { remAuto } from './src/utils';
export default {
remAuto,
};
然而,当我使用Webpack构建时,我得到这个错误:
WARNING in ./src/components/somefile。export ' remoauto '在'module-b'中没有找到
remAuto
显然正在导出,这在我试图将模块A的部分转换为Typescript之前工作。我错过了什么?
应该是非默认导出
export {
remAuto,
};
否则你应该导入一个默认值然后解构它
import tideelifetheme from 'tidee-life-theme';
const { remAuto } = tideelifetheme;
原因:
因为
export default {
remAuto,
};
读作:"导出一个将remAuto
属性赋给remAuto
值的对象"。
,
import { remAuto } from 'tidee-life-theme';
读作"import带有remAuto
标识符"(而你没有)。
总结:默认情况下,命名导出和导出对象是不可互换的。
在我的例子中,我有一个这样的导入
import { CategoryLayoutDisplayTypesEnum,MobileSettingsService} from 'src/app/modules/sales-channels';
原来我应该这样改!
import { CategoryLayoutDisplayTypesEnum } from 'src/app/modules/sales-channels/data';
import { MobileSettingsService } from 'src/app/modules/sales-channels/data-access/services';