ES6模块化(js模块的导入与导出)

(一般在开发都会封装公用的js文件和一些功能性js文件,然后在哪个组件用到就在那个组件import引入)

在ES6自带了模块化, 也是JS第一次支持module, 在es6以后 ,我们可以直接作用import和export在浏览器中导入和导出各个模块了, 一个js文件代表一个js模块;

ES6的模块化的基本规则或特点:

1、每一个模块只加载一次, 每一个JS只执行一次, 如果下次再去加载同目录下同文件,直接从内存中读取。 一个模块就是一个单例,或者说就是一个对象;
2、每一个模块内声明的变量都是局部变量, 不会污染全局作用域;
3、模块内部的变量或者函数可以通过export导出;
4、一个模块可以导入别的模块。

import : 导入
export : 导出

  • 先定义模块,后导出模块:
//先定义模块
let name = "张三";
let age = 18;
let showName = () => {
    return name;
}
//导出模块
export {name,age,showName};
//导入模块
import {模块名,模块名} from '模块url';
  • 边定义边导出模块
export let obj = {
    name : '李四',
    age : 19
}

//导入
import {obj} from "url";
  • 以别名的方式导出
//以别名的方式导出模块
let a = '王五';
let b = 20;
let c = '男';


export {a as name,b as age,c as sex};

import { name,age,sex } from "./public.js";
alert(name + age + sex);
  • 导出默认模块
let a = '呵呵';

export default a;

//导入默认模块
import 自定义名称 from 'url';

扩展知识:
module.exports与exports,export与export default之间的关系和区别:
https://segmentfault.com/a/1190000010426778?utm_source=tag-newest
https://www.cnblogs.com/fayin/p/6831071.html

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值