js模块化,导入和导出函数写法

目录

一、什么是模块

二、导出

2.1 声明时直接导出

2.2 统一在最后导出

2.3 导出时起别名

2.4 默认导出

2.5 导出模块合集

三、导入

3.1 直接导入

3.2 导入时起别名

3.3 导入时使用*

3.4 导入使用default方式导出的模块


背景:随着我们的应用越来越大,我们想要将其拆分成多个文件,即所谓的“模块(module)”。一个模块可以包含用于特定目的的类或函数库。

一、什么是模块

一个模块(module)就是一个文件。一个脚本就是一个模块。就这么简单。

模块之间可以相互加载,并可以使用特殊的指令 export 和 import 来交换功能,从另一个模块调用一个模块的函数:

  • export 关键字标记了可以从当前模块外部访问的变量和函数。
  • import 关键字允许从其他模块导入功能。
二、导出

在创建 JavaScript 模块时,export 语句用于从模块中导出实时绑定的函数、对象或原始值,以便其他程序可以通过 import 语句使用它们。被导出的绑定值依然可以在本地进行修改。在使用 import 进行导入时,这些绑定值只能被导入模块所读取,但在 export 导出模块中对这些绑定值进行修改,所修改的值也会实时地更新。

2.1 声明时直接导出
export const a1 = '1';
export function FunctionName(){}
export const FunctionName2 = () => {
}
2.2 统一在最后导出
 const a1 = '1';
 function FunctionName(){}
 const FunctionName2 = () => {
}
//最后统一导出
​export {
    a1,
    FunctionName,
    FunctionName2,
}

​
2.3 导出时起别名
​
 const a1 = '1';
 function FunctionName(){}
 const FunctionName2 = () => {
}
//最后统一导出,并且起别名
​export {
    a1 as A1,
    FunctionName as FunctionName1,
    FunctionName2 as FunctionName3 ,
}

2.4 默认导出
export default function() {} 

这种导出方式在导入时即可自己定义名称且不需要加{},和其他导出方式共存,但是一个js文件只能有一个default

2.5 导出模块合集
export * from …; 
export * as name1 from …;
三、导入
3.1 直接导入

a1,FunctionName,FunctionName2是导出的时候的名称,不能更改,如果导出时有别名则这里导入的就是别名。

import {a1,FunctionName,FunctionName2} from './XXX.js'
3.2 导入时起别名
import {sayHi as hi, sayBye as bye} from './say.js';

hi('John'); // Hello, John!
bye('John'); // Bye, John!
3.3 导入时使用*
import  * as aaa from './XXX.js'
 
// aaa 此时是一个对象
aaa.a1;
aaa.f1;
aaa.f2;
3.4 导入使用default方式导出的模块
// aaa 此时即是导出的内容
import  aaa  from './XXX.js'
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

进击中的大学生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值