美文网首页
ECMAScript6--19.Module模块化

ECMAScript6--19.Module模块化

作者: 飞菲fly | 来源:发表于2017-10-25 16:23 被阅读70次

1.模块化

  • 基本概念
  • ES6的模块化语法
    • 模块的引入import
    • 模块的导出export

2.基本用法
需求:
1.有一个变量需要导出去,对外提供一个变量;
2.有一个函数需要其他模块可以拿到(需要暴露出去的);
3.一个类需要暴露出去的;

a.js

//导出用export;导出了3个需要对外暴露的变量、函数、类;
export let A =123;
exprot function test(0){
    console.log('test'):
}
export class Hello{
    test(){
        console.log('class');
    }
}

怎样在其他模块中引入这些模块呢?
index.js

import {A,test,Hello} from a.js(路径)
console.log(A,test,Hello);
//输出:123 
//function test(){console.log('test');}  
//function Hello(){ _classCallCheck(this,Hello);}

3. import * as 存放方法的对象 from 路径
1.如果模块非常复杂,导出的东西特别多,要在导出的文件中一一导出来吗?
2.这个模块虽然导出来很多,但只关心其中的几个;

index.js

//解决第一个问题;
//只需要拿到A这个变量,后两项就可以了不要了,花括号{}中需要哪项就拿哪项
import {A} from a.js(路径)
console.log(A); //123
  • 当内容很多的时候,我们需要再花括号中对应原来的文档一个一个找导出的名称,不现实;

index.js

//*代表导入的所有的东西;
//as 起一个别名;
//as a 那些方法都存放到a这个对象下面,不管有多少个,* as a都可以将它全部导出
import * as a  from a(路径)
console.log(a.A,a.test); 
//123 functon test(){console.log('test');}

4.推荐这种方式
好处:
1.不会因为一些误操作不小心把一些变量导出了;
2.通过export default可以由第三方引用的时候,不需要回看起的什么名称和那个文件一一对应;

a.js

let A = 123;
let test = function(){
    console.log('test');
};
class Hello{
    test(){
        console.log('class');
    }
}

//default 给导出的对象不起名字,随便起都行,把这个权利交给引入方;
export default{
    A,
    test,
    Hello
}

index.js

import aaa from a.js路径;
console.log(aaa.A); //123  

相关文章

  • ECMAScript6--19.Module模块化

    1.模块化 基本概念 ES6的模块化语法模块的引入import;模块的导出export; 2.基本用法需求:1.有...

  • ES6学习笔记 II

    模块化 注意:模块化需要放到服务器环境使用模块化: 定义模块化如下 export export const a =...

  • 前端开发——模块化(css模块化开发)

    掌握模块化开发的思想是我们进行模块化开发的基础。他有以下几部分组成: 模块化开发的优势 css模块化 css模块化...

  • Node.js模块化学习

    模块化的基本概念Node.js 中模块化npm与包模块的加载机制 模块化的基本概念 什么是模块化 模块化是指解决一...

  • webpack基础笔记

    webpack基础 1.前端工程化 实际的前端开发: 模块化:(js的模块化,css的模块化,资源的模块化) 组件...

  • 模块化开发

    js模块化开发vue模块化开发

  • Vue前端工程化

    1.模块化的分类 A.浏览器端的模块化 B.服务器端的模块化 C.ES6模块化 小结:推荐使用ES6模块化,因为A...

  • 前端工程化

    1.模块化的分类 A.浏览器端的模块化 B.服务器端的模块化 C.ES6模块化 小结:推荐使用ES6模块化,因为A...

  • vue5

    es6新内容 class 解构赋值 扩展对象 模块化 什么是模块化 模块的作用 怎么实现模块化 模块化的标准 Co...

  • Vue基础教程之-组件核心概念(四)

    一、模块化 1.1 为什么需要模块化 没有模块化的世界:全局变量污染、难以管理的依赖。常见的模块化标准:Commo...

网友评论

      本文标题:ECMAScript6--19.Module模块化

      本文链接:https://www.haomeiwen.com/subject/benqpxtx.html