ES6模块化

101 阅读2分钟

ES6的模块化

ES6的模块化 一般不会独立运行,是在框架语法中配合框架语法使用

特点

ES6的模块化 必须通过服务器运行

是官方定义的模块化开发程序 
不需要导入独立的外部文件

导入整合模块的script标签 必须要添加 `type="module"` 属性

基本语法

独立模块

    设定变量函数

    export default { } 
        以 一个对象作为整体导出数据

依赖模块

    import 变量 from '导入模块的路径' ;
        将 导入模块中的导出数据 以对象形式 存储到设定变量中


整合模块
    import 变量1 from '导入模块的路径' ;
    import 变量2 from '导入模块的路径' ;
    ...


导入语法2
    export 变量... ;
    export 数据... ;

        独立导出一个或者多个数据 

    import { 变量名1 , 变量名2 ... } from '导入模块的路径' ;

        使用 解构赋值语法 将 模块独立导出的变量数据 
        存储到 设定 的变量名称中

    独立导出的变量名称 和 import {} 解构的变量名称必须一致
    

html文件

    <!-- 导入整合模块外部文件 script标签 必须要添加 type="module" -->
   <script src="./c.js" type="module"></script>
   <script src="./e.js" type="module"></script>

独立模块

// 独立模块

// 直接定义数据和函数方法

// 定义数据和函数方法等
let name = '张三';
let age = 18;
let sex = '男';

const arr = [100, 200, 300, 400];
const obj = { addr: '北京', phone: 123456, email: '123@qq.com' };

function fa1() { };
function fa2() { };
function fa3() { };

// 导出这个模块的数据和函数方法
// 以 一个对象 整体导出设定的数据
export default { name , age , sex , arr , obj , fa1 , fa2 , fa3 };

依赖模块

// 依赖模块
// 需要依赖模块A中的数据

// 导入模块A的数据
// 将 导入的模块A 的数据 存储到设定的变量 valA 中
import valA from './a.js' ;

let name = '李四' ;
let age = valA.age - 5 ;
let sex = '女' ;

const arr = valA.arr.map( item => {

    return item / 100 ;

})

const obj = valA.obj ;

function fb1 (){}
function fb2 (){}
function fb3 (){}
function fb4 (){}

export default { name , age , sex , arr , obj , fb1 , fb2 , fb3 , fb4 } ;


整合模块

// 整合模块
// 导入 模块A 模块B

import valA from './a.js' ;
import valB from './b.js' ;

console.log( valA );
console.log( valB );
其他用法
// 设定那个 就导出那个

let name = '张三';
export let age = 18;
let sex = '男';

export const arr = [100, 200, 300, 400];
export const obj = { addr: '北京', phone: 123456, email: '123@qq.com' };

function fa1() { };
function fa2() { };
function fa3() { };
// 使用结构赋值语法形式 存储 模块D 导出的独立的数据
// 将 模块D 中 独立导出的数据 以结构语法形式 独立存储到变量中
import { age , arr , obj } from './d.js' ;