什么是模块化
什么是模块化?
模块化是指 解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程, 有多种属性,分别反映其内部特性 (百度)
模块化一般是指 可以被抽象封装的最小或最优代码的集合 , 模块化用于解决功能耦合问题
前端模块化 一般是指javaScript 的模块化 比较常见的就是 node.js 的NPM包 每个模块可以是最小或最优的代码组合 也可以是为了解决某些问题多个小模块合并的一个大的模块
如果没有模块化 可能很多重复行的代码 就是进行 Ctrl + C Ctrl + V 的操作.这样代码的可维护性就会下降 而代码模块化以后 我们考虑的问题是 代码的使用和维护成本 所以
就有了很多模块化规范: CommonJS
、AMD
和 ES6 Module
规范(另外还有 CMD
、UMD
等)
CommonJs : 是 NodeJs 广泛使用的一套模块化规范 是同步加载模块依赖的方式 其中包含几个属性
require: 引入一个模块
exports: 导出模块内容
module: 模块本身
AMD : 是js加载库 RequireJS 提出并完善的一套模块化规范 AMD 是 异步加载模块依赖的方式 其中包含
id : 模块的id
depenfencies : 模块依赖
factory : 模块化的工厂函数,即模块化的初始化操作函数
request : 引入模块
import : 引入模块依赖
export : 模块导出
ES6 Module : ES6推出的一套模块化规范
除了Javascript的模块化以外 在CSS中也可以使用@import 的方式来引入自己依赖的模块 例如 : @import "load.css"
组件化更像是 模块化的进一步封装 根据业务场景不同封装具有一定功能性质的整体
原文地址:https://www.cnblogs.com/p-g-q/p/15262551.html
- Java实现解析IP地址的方法,给出一串数字,生成正确的IP地址
- 图解“管道过滤器模式”应用实例:SOD框架的命令执行管道
- No.013 Roman to Integer
- OData – the best way to REST–实例讲解ASP.NET WebAPI OData (V4) Service & Client
- Java实现的手工做乘法方法,给出二个字符串数字,返回相乘结果
- No.012 Integer to Roman
- 黑帽SEO剖析之手法篇
- IOS学习1——IOS应用程序的生命周期及基本架构
- 浅议“全局变量”、“多线程”和“编译器陷阱”
- Java实现的图片合并方法,支持水平和垂直合并
- OC学习15——文件I/O体系
- 用惯了ORM,居然不会写分页SQL了
- OC学习14——谓词
- 如何在32位系统中使用ROP+Return-to-dl来绕过ASLR+DEP
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 3分钟短文:Laravel模型读数据的那个“障眼法”
- 你有一份面试题要查收
- @RequestParam,@RequestBody,@PathVariable注解区别
- linux centos 查看cpu是否开启超线程虚拟化和配置信息
- DDD领域驱动设计实战(三)- 理解实体
- 如何理解 Go 中的反射
- Kubernetes 1.19.0——网络
- 如何用VSCode实现一个vue.js项目?
- 网页轮播图案例
- leetcode栈之用队列实现栈
- 3分钟短文:无私分享!Laravel模型使用2个小技巧
- 抖音小程序基础之 如何绑定点击事件(教程含源码)
- 抖音小程序基础之 如何使用内联样式 style和class(教程含源码)
- 抖音小程序基础之 如何使用选择器class id element (教程含源码)
- 3分钟短文:Laravel模型作用域,为你“节省”更多代码