ES6-模块系统

模块开发的思想

  • 本质上,是为了解决 js文件之间相互引用
  • 用来开发 大型的web应用
  • 将项目的各个项目,封装成一个一个JS组件
  • 开发时,分开去研发各个组件
  • 最后利用es6 提供的模块系统,将各个组件导入到一个指定的主js组件中

es6 模块系统依托于两个关键字

  • 1、export() 导出
    一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量。下面是一个 JS 文件,里面使用export命令输出变量
  • 2、import(解构) from '路劲' 导入
    使用export命令定义了模块的对外接口以后,其他 JS 文件就可以通过import命令加载这个模块。
    import命令接受一对大括号,里面指定要从其他模块导入的变量名。
    import命令输入的变量都是只读的,因为它的本质是输入接口。也就是说,不允许在加载模块的脚本里面,改写接口,但是如果是为一个被导入的对象改写属性,是可以的。

export.js

//导出 export


//1、导出 普通变量
export let a = 12;
export let b = 'qwe';

//2、第二种写法
let a1 = 1;
let b1 = 'zxc';
export{
    a1 as a2,
    b1,
}

//3、导出方法
export let fn1 = () =>{
    console.log('这是方法一');
}


let fn2 = () =>{
    console.log('这是方法二');
}
function fn3(){
    console.log('这是方法三');
}
export {
    fn2,
    fn3,
}


//4、导出一个类
class Ball{
    type = '人类';
}
export {
    Ball,
}


//导出的第三种写法
//一个文件中,只能有一个 export default{}
export default{
    //在这里,可以将这个文件里面的 所有方法一起导出
    Ball,
    a,
    b,
    a1,
    b1,
    //由于这个方法是将一个文件整体导出
    //所以导入时也不一样,不能使用解构 来接
    // import 变量 from '路径'
}

import.js

import {
    //as 设置 别名
    a as a1,
    b,
} from  './13-export';

console.log(a1,b);

var a = new Person();
console.log(a);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容