1. CommonJS

用于服务端模块化编程,比如nodejs就采用此规范;
一个文件就是一个模块,require方法用来加载模块,该方法读取一个文件并执行,最后返回文件内部的module.exports对象;
require是默认读取.js文件的,所以require(模块名)可以不写后缀;
同步加载,由于服务端加载的模块一般在本地,所以可以这样;但是在客户器端如果一个模块过大就会导致页面“假死”;
module.exports属性表示当前模块对外输出的接口,其他文件加载该模块,实际上就是读取module.exports变量;为了方便也可以用exports,exports指向module.exports;即exports = module.exports = {}
exports.xxx相当于在导出的对象上添加属性,该属性对调用模块可见;
exports = 相当于给exports重新赋值,这样就切断了和module.exports的关联,调用模块就不能访问exports的对象及其属性;
2. AMD
加载模块:require([module], function(module){});
定义模块:define([module], function(module){});module为依赖模块;
require.js(前端模块化管理的工具库)实现js文件的异步加载,避免网页失去响应;管理模块之间的依赖性,便于代码的编写和维护。
依赖前置,尽早的执行模依赖块,执行顺序不一定是先1后2;
加载非规范的模块
require.config({
baseUrl: "js/lib",
paths: {
"jquery": "jquery.min",
"underscore": "underscore.min",
"backbone": "backbone.min"
},
shim: {
'underscore':{
exports: '_'
},
'backbone': {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
}
}
});
// exports值(输出的变量名),表明这个模块外部调用时的名称;deps数组,表明该模块的依赖性
3. CMD
define(function(require, exports, module){
var a = require('a');
a.foo();
};
Sea.js
依赖就近,且在真正需要使用依赖模块时才执行该模块,顺序固定;
AMD和CMD最大的区别是对依赖模块的执行时机处理不同,而不是加载的时机或者方式不同,二者皆为异步加载模块;
AMD依赖前置,js可以方便知道依赖模块是谁,立即加载;而CMD就近依赖,需要使用把模块变为字符串解析一遍才知道依赖了那些模块
以上这篇详谈js模块化规范就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# js模块化规范
# 详解Js中的模块化是如何实现的
# Javascript模块化编程详解
# 详解JavaScript模块化开发
# 如何正确理解javascript的模块化
# JavaScript 模块化详解
# 拥抱模块化的JavaScript
# 前端JavaScript模块化解析之ESModule用法示例
# 加载
# 给大家
# 服务端
# 就会
# 可以用
# 一遍
# 才知道
# 希望能
# 就不能
# 这篇
# 过大
# 时才
# 小编
# 大家多多
# 皆为
# 不写
# 便也
# 而不是
# 管理模块
# 变量名
相关文章:
如何选择高效稳定的ISP建站解决方案?
如何通过FTP空间快速搭建安全高效网站?
建站之星后台密码遗忘如何找回?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
TestNG的testng.xml配置文件怎么写
建站主机助手选型指南:2025年热门推荐与高效部署技巧
微信小程序 input输入框控件详解及实例(多种示例)
建站主机服务器选型指南与性能优化方案解析
如何选择香港主机高效搭建外贸独立站?
专业商城网站制作公司有哪些,pi商城官网是哪个?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
建站之星安装后如何自定义网站颜色与字体?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
如何选择高效响应式自助建站源码系统?
如何快速搭建高效香港服务器网站?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何自定义建站之星模板颜色并下载新样式?
Android自定义listview布局实现上拉加载下拉刷新功能
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何解决ASP生成WAP建站中文乱码问题?
宁波自助建站系统如何快速打造专业企业网站?
如何通过NAT技术实现内网高效建站?
如何在IIS中新建站点并解决端口绑定冲突?
如何通过主机屋免费建站教程十分钟搭建网站?
如何配置IIS站点权限与局域网访问?
javascript基本数据类型及类型检测常用方法小结
小型网站制作HTML,*游戏网站怎么搭建?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何通过西部数码建站助手快速创建专业网站?
,石家庄四十八中学官网?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
如何通过虚拟主机快速完成网站搭建?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
广州建站公司哪家好?十大优质服务商推荐
建站之星如何通过成品分离优化网站效率?
如何使用Golang table-driven基准测试_多组数据测量函数效率
宝塔新建站点报错如何解决?
PHP 500报错的快速解决方法
建站之星展会模版如何一键下载生成?
如何用PHP快速搭建高效网站?分步指南
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
XML的“混合内容”是什么 怎么用DTD或XSD定义
建站主机选哪家性价比最高?
*请认真填写需求信息,我们会在24小时内与您取得联系。