鸿蒙开发_TS快速入门_TS中模块化操作_模块的导入导出---纯血鸿蒙HarmonyOS5.0工作笔记008

然后我们再来看鸿蒙中的模块如何导入导出。

其实就跟Java中的import是一个意思的。

只不过我们如果想把一个类中的某个方法导入到另一个类中,

那么首先要在这个类中去导出这个方法。

可以看到导出的关键字是export。

然后导入的关键字是import。

然后我们写个例子去看一下,首先我们写一个moduleA.ts文件

可以看到在这个文件中我们提供了一个hello方法,

然后我们使用export暴露出这个hello方法,然后我们又定义了一个 str这个常量

我们同样使用export把这个常量暴露出去,另外我们还定义了一个num常量,

这个常量我们没有暴露。

然后我们再来写一个modelB.ts文件

在这个里面可以看到我们通过input可以导入 hello这个方法,还有str,被暴露出来的这两个,

一个是hello方法,一个是str常量,但是num我们没有暴露,所以在这个地方无法

导入,导入的话就会报错。

当我们导入了以后,我们就可以直接使用了,可以看到上面是使用的效果,

也是可以正常使用的。

另外如果你使用的vs code进行编码的话,你在modelB这个文件中直接输入hello敲回车,它会自动进行导入。

当然前提是在其他的模块文件中有暴露出来的hello这个方法。

可以看到你敲入hello,然后直接点回车,它就自动导入进来了。

自动把导入的这个代码帮你写出来了。

另外在导入的时候还需要避免命名上的冲突。

比如我们在写一个modelC.ts这样一个文件,然后里面同样也写上hello这个方法,

并且把这个方法也暴露出来,同时我们再写一个 str这个常量,并且也使用export暴露出来。

我们实际的把这个模块做出来。

然后如果我们在modelB这个文件中同样去导入modelC中的hello方法,可以看到就报错了。报错内容是有重复的方法名。

那么这个时候我们在导入的时候就可以使用。多种方式来解决命名冲突。

看到一种方式就是通过起别名来解决。

可以看到,只要在导入的时候给hello这个方法去起一个别名就可以正常使用了。

另外还可以直接把整个模块导入进来。

这样的话可以把某个文件直接作为一个对象导入进来,然后使用的时候直接去点来使用就可以了。

当然点的时候只能点出对应的文件中暴露出来的方法。

可以看到上面是我们写的例子。

当然我们也可以直接把导入的对象去打印一下看看,实际上他是一个对象。

可以看到打印的结果是用花括号包裹的,其实就是一个对象。

另外它还支持默认的导入和导出。

首先看默认的导出,在导出方法的时候需要加上default这个关键字。

我这里默认导出。要记住,一个文件当中只能有一个默认导出。

因为在默认导入的时候没有必要关注导入项的名称,

所以对于默认导出来说也可以使用匿名函数,直接不写名字就可以了。

同时在默认导入的时候,对应导入的名字也可以自己随便写,因为无需关注。导入的文件中,他默认导入的名字是什么

因为一个文件中只能有一个默认导入项,所以说无需关注,

那么导入的时候自己就随便起个名字就可以了。

我们用实际的例子去看一下,首先我们在modelA这个文件中默认导出一个hello这个方法。

然后我们在modelB中去默认导入这个moduleA中的方法。

可以看到import h from './moduleA/'

这里的一次就是我随便起的,因为不用关心默认导入他的名字是什么,所以这里不用非要写成hello。

然后调用的时候也直接使用自己起的名字去调用就可以了。

同时上面我们也说了,默认导入实际上是无需关注导入项的名称,所以默认导出也是

支持匿名函数。

可以看到,比如说在modelA中我们写一个匿名函数,然后把这个匿名函数进行默认导出。

然后同样我们在modelB这个文件中也可以正常的进行导入。

不需要关注默认导入它的方法名是什么?

可以看到默认导出,只能最多导出一个。

这个是语法上的规则。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

添柴程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值