默认导出
指一个模块只能默认导出的一个值或对象。使用时可以自定义导入名称。
使用步骤:
1、当前模块中导出模块 export default 需要导出的内容
2、需要使用的地方导入模块 import xxx from '路径模块'
例子
在文件module1.ets中默认导出一个数字变量
let num = 10
export default num
在别的地方导入使用
import num from '../utils/module1'
console.log(`使用module1中导出的数字${num}`)
在文件module2.ets中默认导出一个对象
interface Man {
name: string
age: number
}
export default Man
在别的地方导入使用
import Man from '../utils/module2'
let man: Man = {
name: "jonas",
age: 30
}
console.log(`使用module2中导出的man名字叫${man.name} 年纪是${man.age}`)
按需导出
在文件module3.ets中按需导出多个特性
export let name = "jonas"
export let age = 30
export let sayHi = ()=>{
console.log("hello")
}
或者按照下面方式导出
let name = "jonas"
let age = 30
let sayHi = ()=>{
console.log("hello")
}
export { name, age, sayHi }
在别的地方导入使用
import { name, age, sayHi } from '../utils/module3'
console.log(`使用module3中导出的名字叫${name} 年纪是${age}`)
sayHi()
按需导入可以自定义别名,这样可以有效防止和别的特性重名
import { name as myName} from '../utils/module3'
console.log(`使用module3中导出的名字叫${myName}`)
全部导入
按需导入这种方式如果数量太多的话,比较繁琐,使用全部导入就会比较方便。
导出还是按照按需导出的形式
let name = "jonas"
let age = 30
let sayHi = ()=>{
console.log("hello")
}
export { name, age, sayHi }
导入可以使用 * as xxx的形式
import * as module from '../utils/module3'
console.log(`使用module2中导出的名字叫${module.name} 年纪是${module.age}`)
module.sayHi()