鸿蒙Harmony OS Next原生开发模块化开发
鸿蒙Harmony OS Next原生开发模块化开发
·
鸿蒙初开,开天辟地
模块化开发
模块化开发是ArkTS中一个很重要的概念,模块化是把复杂的程序拆分为多个独立的文件单元,每个文件都被称为一个模块,ArkTS中默认情况下,每个模块都有自己的作用域,一个模块内声明的任何内容(变量,函数,类等等)对于模块外部都是不可见的无法获取的,为了在一个模块内使用别的模块内的内容,就涉及到模块的导入和导出
Import和export
导出Export
导出的关键字export,这里我们就将这个laugh方法和version这个常量导出了
export function laugh(){ console.log("哈哈哈") } export const version:number = 1.8;
导出laugh和version
在引入它们的地方就可以直接使用这个变量和方法了
import { laugh,version } from './A'; import { laugh as la,version as v } from './A';
在B模块中导入
避免命名冲突
若多个模块中具有命名相同的变量函数等内容,将这些内容导入到同一个模块下就会出现命名冲突
解决命名冲突可以使用以下方式解决
1.导入重命名
import { laugh,version } from './A'; import { laugh as la,version as v } from './A'; laugh(); console.log(version);
导入重命名
2.创建模块对象
如果遇到冲突内容较多的情况时,重命名可能会较多且冗长,还可以将某个模块的内容统一导入模块对象上
import * as A from './A'; import * as C from './C'; A.laugh(); console.log(A.version); C.laugh();/* */ console.log(C.version);
模块对象的方式
此时我们使用的A和C其实就是一个对象,因此称为模块对象的方式
import * as A from './A'; import * as C from './C'; A.laugh(); console.log(A.version); console.log(A); C.laugh();/* */ console.log(C.version); console.log(C);
模块对象
默认导出导入
默认导入导出允许一个模块默认的导出项,就可以不再指定我们导入的内容是什么,而是默认导入的内容就是默认导出的内容
export default function laugh(){ console.log("哈哈哈") } export const version:number = 1.8; const encode:string = "java";
import A from './A'; A();
默认导出
默认导入
当我们的模块只有一个导出项时,我们使用默认导出默认导入还是非常方便的,而且连方法名都可以是匿名的
export default function(){ console.log("哈哈哈") } export const version:number = 1.8; const encode:string = "java";
默认导出匿名函数
更多推荐


导出laugh和version

模块对象的方式
模块对象 



所有评论(0)