关于import导入

关于import导入

问题描述:

在视频的9分33秒的时候开始,之前已经引入了tab组件,是直接用import+路径;但是后来在组件中实现并导出了Tab这个类之后,就要改成使用import {Tab} from 路径 的方式来导入Tab。

想问老师,组件里面实现并导出了新的类之后,引入时是必须要在加上引入的类吗?import+路径 的方式不能直接把这个组件中的全部内容引入吗?是不是如果有多个内容要导出,那么在导入时一定要在花括号中把每一个导入的内容都列出来吗?

相关截图:

https://img1.sycdn.imooc.com//climg/62130ca109f7056806660312.jpghttps://img1.sycdn.imooc.com//climg/62130cce0979dbf705370248.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,对于你的问题解答如下:

1、不是必须的。如果不需要使用导出的内容,那么导入时就不用加。

2、import  '../tab' 这种格式表示直接导入该模块,默认会执行该模块中的所有代码,但是无法当前导入的文件使用这个模块中的数据。

3、不一定要把所有的内容列出来,只需要把当前需要使用的列出来即可。另外,导入时是否加花括号,与被导入的文件中的导出方式有关,具体的可以回顾下前面课程讲解的导入导出对应关系,加深理解和记忆。

https://img1.sycdn.imooc.com//climg/621351f9096a747c05030238.jpg

4、需要注意的是,tab/index.js文件中使用export default 方法是导出的,所以要使用与之对应的导入方式,不用加{}

https://img1.sycdn.imooc.com//climg/621350cf09012f8113950657.jpg

因为在index.js文件中需要使用tab.js中导出的类,所以需要使用一个变量来接受导入的内容,方便后面使用,如下:

https://img1.sycdn.imooc.com//climg/621350770969a35105860528.jpg

祝学习愉快~

  • 老师,这个

    import Tab from '../tab'

    只是导出了Tab这个类,没有执行index.js文件,那么tab里面的

    import './tab.css'

    应该没有执行吧,这里不是很清楚

    2022-05-04 01:48:58
  • 同学你好,可以参考如下解析理解:

    1、导入时省略了文件名,webpack默认会去加载该文件夹下名为index的js文件,所以import Tab from '../tab'  这种写法,等价于import Tab from '../tab/index.js',默认会加载并执行tab文件夹下的index.js文件

    2、由第一条分析可知,index.js文件中的代码会被执行,所以import './tab.css'这句代码会被执行。

    祝学习愉快!

    2022-05-04 11:36:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师