解决报错:export ‘default‘ (imported as ‘Register‘) was not found

报错如下:

 原因:export default跟index.ts中的export * from "xxx" 冲突了

换句话说:用了export default就不能使用index.ts方式来导入

解决办法:

1. 如果使用export default,就不要使用index.ts的export 导出

2. 如果使用了使用index.ts的export 导出,那么引入时需要使用{xx}进行解构导入,不能直接导入

然后下面使用了export default引入,但是又报错:

ERROR in ./routes.tsx 4:0-49
Module not found: Error: Can't resolve '@/components/Register' in 'C:\Users\Administrator.SKY-20170308KWH\Desktop\tmp\React-CssModuleTest'

 这是因为使用export default导入时,要引用到具体文件,而不能仅仅到目录层级

 总结:

export default:

  • export default关键字用于导出模块中的一个默认值,通常是一个函数、类或对象
  • export default导出时后面可以直接跟函数,类,object对象
  • export default 不能直接导出变量,即:export default const varXX = 的写法是不合法的
  • 在一个模块中只能有一个export default语句。
  • 在导入模块时,你可以使用import ModuleName from 'module'的语法来引入默认导出的内容,而不需要使用特定的名称,ModuleName可以随便写。
  • import ModuleName from 'module'中的被引用module必须写到具体文件层级,而不能是目录层级
  • export default不能跟index.ts的export引用混用,因为二者有冲突

export:

  • export关键字用于在一个模块中导出多个变量、函数或对象,故export又叫命名导出
  • 你可以导出多个变量或函数,但每个都需要使用export关键字。
  • 在导入模块时,您必须使用import { ... } from 'module'的解构语法来引入被导出的内容,并且需要指定要导入的变量名称。
  • 可以使用index.ts简化导入,此时import {...} from "", from里面的可以仅到目录层级,而不用到文件层级

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值