首页 > 其他分享 >ES6之模块化

ES6之模块化

时间:2022-11-20 16:34:50浏览次数:52  
标签:ES6 console log 模块化 js m3 import

模块化 模块化是指将一个大的程序文件,拆分成许多小的文件,然后将小文件组合起来。  模块化的好处 模块化的优势有以下几点: 1) 防止命名冲突 2) 代码复用 3) 高维护性   模块化规范产品 ES6 之前的模块化规范有: 1) CommonJS => NodeJS、Browserify 2) AMD => requireJS 3) CMD => seaJS19 更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网   ES6 模块化语法 模块功能主要由两个命令构成:export 和 import。 ⚫ export 命令用于规定模块的对外接口 ⚫ import 命令用于输入其他模块提供的功能

 

通用的导入方式

(1)

m1.js

//分别暴露  将想要暴露外面的数据前加上export
export let school = '尚硅谷'; 
export function teach() {
    console.log("我们可以教给你开发技能");
}

 使用:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ES6 模块化</title>
</head>
<body>
    <script type="module">
        //1. 通用的导入方式
        //引入 m1.js 模块内容
        import * as m1 from "./src/js/m1.js"; 
        console.log(m1);
    </script>
 
</body>
</html>

 

结果:

 

 (2)

m2.js:

//统一暴露
let school = '尚硅谷';

function findJob(){
    console.log("我们可以帮助你找工作!!");
}

//
export {school, findJob};

 

使用:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ES6 模块化</title>
</head>
<body>
    <script type="module">
      
        // //引入 m2.js 模块内容
          import * as m2 from "./src/js/m2.js"; 
          console.log(m2);
    </script> 
</body>
</html>

 

(3)

m3.js:

//默认暴露
export default {
    school: 'ATGUIGU',
    change: function(){
        console.log("我们可以改变你!!");
    }
}

 

使用:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ES6 模块化</title>
</head>
<body>
    <script type="module">
      
        // //引入 m3.js 模块内容
          import * as m3 from "./src/js/m3.js"; 
          console.log(m3);
    </script> 
</body>
</html>

 

 

 解构赋值形式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ES6 模块化</title>
</head>
<body>
    <script type="module"> 

        //2. 解构赋值形式
        import {school, teach} from "./src/js/m1.js";
        import {school as guigu, findJob} from "./src/js/m2.js";
        // 针对默认暴露的默认导入写法
        import {default as m3} from "./src/js/m3.js";

        //3. 简便形式  只能针对默认暴露
        // import m3 from "./src/js/m3.js";
         console.log(m3);
    </script> 
</body>
</html>

 

 

通过src属性引入的形式

app.js:

//入口文件

//模块引入
import * as m1 from "./m1.js";
import * as m2 from "./m2.js";
import * as m3 from "./m3.js";

// console.log(m1);
// console.log(m2);
// console.log(m3);

// m1.teach();
// m2.findJob();
// m3.default.change();

//修改背景颜色为粉色
import $ from 'jquery';// const $ = require("jquery");
$('body').css('background','pink');

使用:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ES6 模块化</title>
</head>
<body> 
    <script src="./src/js/app.js" type="module"></script>
</body>
</html>

 

标签:ES6,console,log,模块化,js,m3,import
From: https://www.cnblogs.com/anjingdian/p/16908798.html

相关文章

  • ES6之对象方法扩展
    对象扩展ES6新增了一些Object对象的方法1)Object.is比较两个值是否严格相等,与『===』行为基本一致(+0与NaN)2)Object.assign对象的合并,将源对象的所有可枚举属性......
  • ES6之class
    class类ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。基本上,ES6的class可以看作只是一个语法糖,它的绝大部分......
  • ES6之数值扩展
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>数值......
  • ES6之Set
    SetES6提供了新的数据结构Set(集合)。它类似于数组,但成员的值都是唯一的,集合实现了iterator接口,所以可以使用『扩展运算符』和『for…of…』进行遍历,集合的属性和方法:......
  • ES6之Map
    MapES6提供了Map数据结构。它类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map也实现了iterator接口,所以可以使用......
  • ES6之Promise
    PromisePromise是ES6引入的异步编程的新解决方案。语法上Promise是一个构造函数,用来封装异步操作并可以获取其成功或失败的结果。1)Promise构造函数:Promise(e......
  • ES6之生成器
    生成器生成器函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同比如:function*gen(){yield'一只没有耳朵';yield'一只没有尾巴';return'真......
  • ES6之迭代器
    迭代器遍历器(Iterator)就是一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作。1)ES6创造了一种......
  • ES6之Symbol
    Symbol基本使用ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的第七种数据类型,是一种类似于字符串的数据类型。Symbol特点1)Symbol......
  • ES6 语法 浅析
    ECMAScript6(简称ES6)是于2015年6月正式发布的JavaScript语言的标准,正式名为ECMAScript2015(ES2015)。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业......