当前位置: 首页 > article >正文

JavaScript,ES6,模块化,大程序文件拆分成小文件再组合起来

模块化

模块化是指将一个大的程序文件,拆分成许多小的文件,然后将小文件组合起来。

模块化的好处

模块化的优势有以下几点:1、防止命名冲突,2、代码复用,3、高维护性。

模块化规范产品,ES6 之前的模块化规范有:

1、CommonJS => NodeJS、Browserify

2、AMD => requireJS

3、CMD => seaJS

ES6 模块化语法

模块功能主要由两个命令构成:export 和 import。

⚫ export 命令用于规定模块的对外接口

⚫ import 命令用于输入其他模块提供的功能

代码案例

m1.js

//分别暴露
export let school = '小奋斗';

export function teach() {
    console.log("IT,IT");
}

JavaScript,ES6,模块化,大程序文件拆分成小文件再组合起来

2022-01-28 23:29·古怪今人

模块化

模块化是指将一个大的程序文件,拆分成许多小的文件,然后将小文件组合起来。

模块化的好处

模块化的优势有以下几点:1、防止命名冲突,2、代码复用,3、高维护性。

模块化规范产品,ES6 之前的模块化规范有:

1、CommonJS => NodeJS、Browserify

2、AMD => requireJS

3、CMD => seaJS

ES6 模块化语法

模块功能主要由两个命令构成:export 和 import。

⚫ export 命令用于规定模块的对外接口

⚫ import 命令用于输入其他模块提供的功能

代码案例

m1.js

//分别暴露
export let school = '小奋斗';

export function teach() {
    console.log("IT,IT");
}

m2.js

//统一暴露
let school = '小奋斗';

function findJob(){
    console.log("IT小奋斗!!");
}

//
export {school, findJob};

m3.js

//默认暴露
export default {
    school: '小奋斗',
    change: function(){
        console.log("IT小奋斗,IT小奋斗!!");
    }
}

页面

<!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";
        //引入 m2.js 模块内容
        import * as m2 from "./src/js/m2.js";
        //引入 m3.js 
        import * as m3 from "./src/js/m3.js";

        //2. 解构赋值形式
        import {school, teach} from "./src/js/m1.js";
        import {school as guigu, findJob} from "./src/js/m2.js";
        import {default as m32} from "./src/js/m3.js";

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


http://www.kler.cn/a/507801.html

相关文章:

  • 【从零开始使用系列】StyleGAN2:开源图像生成网络——环境搭建与基础使用篇(附大量测试图)
  • 【Excel】【VBA】双列排序:坐标从Y从大到小排列之后相同Y坐标的行再对X从小到大排列
  • 语音合成的预训练模型
  • 【前端】框架-构建-包管理-语言-语法-生态工具
  • Vue3 Element-Plus el-tree 右键菜单组件
  • 业务幂等性技术架构体系之消息幂等深入剖析
  • vue3学习三
  • 网络安全 | 防护技术与策略
  • 客户案例 | Ansys与索尼半导体解决方案公司合作推进自动驾驶汽车基于场景的感知测试
  • C# 获取PDF文档中的字体信息(字体名、大小、颜色、样式等
  • Android系统定制APP开发_如何对应用进行系统签名
  • Android 北斗与平台芯片相关
  • PLC(电力载波通信)网络机制介绍
  • Qt——QTableWidget 限制单元格输入范围的方法(正则表达式输入校验法、自定义代理类MyItemDelegrate)
  • Go语言strings包与字符串操作:从基础到高级的全面解析
  • C#深度神经网络(TensorFlow.NET)
  • MongoDB中游标的使用
  • 2019-Android-高级面试题总结-从java语言到AIDL使用与原理
  • ctfshow复现2024ciscn第一场web
  • Leetcode 91. 解码方法 动态规划
  • DATACOM-STP、RSTP、MSTP-复习-实验
  • 简历_使用优化的Redis自增ID策略生成分布式环境下全局唯一ID,用于用户上传数据的命名以及多种ID的生成
  • 【Python】Selenium根据网页页面长度,模拟向下滚动鼠标,直到网页底部的操作
  • UI Automation 中所有Patterns
  • [WUSTCTF2020]Cr0ssfun
  • Nginx(搭建高可用集群)