前端为什么要使用模块化?
这次给大家带来前端为什么要使用模块化?,前端模块化的注意事项有哪些,下面就是实战案例,一起来看一下。
CMD、AMD、CommonJS 规范分别指什么?有哪些应用
AMD (Asynchronous Module Definition, 异步模块定义) 指定一种机制,在该机制下模块和依赖可以移步加载。这对浏览器端的异步加载尤其适用,其也是CommonJS规范的一个延伸。12
语法
define(id?, dependencies?, factory);1
id: 定义中模块的名字,可选;如果没有提供该参数,模块的名字应该默认为模块加载器请求的指定脚本的名字。。
依赖dependencies:是一个当前模块依赖的,已被模块定义的模块标识的数组字面量。 依赖参数是可选的,如果忽略此参数,它应该默认为[“require”, “exports”, “module”]。然而,如果工厂方法的长度属性小于3,加载器会选择以函数的长度属性指定的参数个数调用工厂方法。
工厂方法factory:模块初始化要执行的函数或对象。如果为函数,它应该只被执行一次。如果是对象,此对象应该为模块的输出值。
范例
define('modal', ['jQuery', 'dialog'], function($, Dialog){$('.modal').show(); Dialog.open(); });1234
AMD的库有RequireJS 、curl 、Dojo 等。CommonJS是服务器端模块的规范,Node.js采用了这个规范。Node.JS首先采用了js模块化的概念。在一个模块中,存在一个自由的变量”require”,它是一个函数。这个”require”函数接收一个模块标识符。“require”返回外部模块所输出的API。如果出现依赖闭环(dependency cycle),那么外部模块在被它的传递依(transitivedependencies)所require的时候可能并没有执行完成;在这种情况下,”require”返回的对象必须至少包含此外部模块在调用require函数(会进入当前模块执行环境)之前就已经准备完毕的输出。如果请求的模块不能返回,那么”require”必须抛出一个错误。在一个模块中,会存在一个名为”exports”的自由变量,它是一个对象,模块可以在执行的时候把自身的API加入到其中。模块必须使用”exports”对象来做为输出的唯一表示。
范例
exports.add = function() { var sum = 0, i = 0, args = arguments, l = args.length; while (i < l) { sum += args[i++]; } return sum; };1234567
CMD(Common Module Definition)是 SeaJS推广过程中产生的。
CMD由国内的玉伯提出,其与AMD规范的主要区别在于定义模块,和依赖引入部分。AMD需要在声明模块的时候指定所有的依赖,通过形参传递到模块内部
范例
define(function(require, exports, module) { exports.add = function() { var sum = 0, i = 0, args = arguments, l = args.length; while (i < l) { sum += args[i++]; } return sum; }; });123456789
与AMD模块相比,CMD更接近与Node对CommonJS规范的定义:
define(factory);1
在依赖部分,CMD支持动态引入,示例如下:
define(function(require , exports , module){ //the module code goes here });123
require,exports,module通过形参传递给模块,在需要依赖模块的时候,,随时调用模块引入即可。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上是前端为什么要使用模块化?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文介绍了免费的数字资产行情软件APP和网站,它们能为投资者提供实时价格、价格图表、交易量、涨跌幅、市场深度和新闻资讯等关键信息,帮助投资者做出明智的决策。 与收费软件相比,免费软件具有无需成本、功能丰富、操作简便等优势。 文章还指导用户如何选择合适的行情软件,并提醒用户注意数据来源、信息准确性和避免过度依赖等问题,最终助力投资者更好地把握数字资产市场动向。 想要了解如何高效利用免费行情软件?赶紧阅读全文!

Coinbase安全登录指南:如何避免钓鱼网站和诈骗? 网络钓鱼和诈骗日益猖獗,安全访问Coinbase官方登录入口至关重要。本文提供实用指南,帮助用户安全地找到并使用Coinbase最新官方登录入口,保护数字资产安全。我们将介绍如何识别钓鱼网站,以及如何通过官方网站、移动应用或可信第三方平台安全登录,并提供加强账户安全的建议,例如使用强密码和启用双重验证。 避免因错误登录导致资产损失,请务必仔细阅读本文!

本文提供免费数字资产行情软件全方位指南,助您零成本掌握市场脉搏。 在数字资产交易中,及时精准的行情数据至关重要,但昂贵的付费软件令许多新手望而却步。 幸运的是,众多免费的APP和网站提供实时价格追踪、历史数据回顾、交易量监控等功能,帮助您洞悉市场动态,做出明智决策。 文章将详细介绍免费行情软件的类型、选择技巧及注意事项,让您在风险极高的数字资产市场中,安全高效地进行投资。

本文提供Huobi交易所官网登录入口的最新信息,并强调获取最新入口的重要性,因为过时链接可能导致无法访问或安全风险。文章指出获取最新入口的途径包括:官方网站公告、Huobi官方客服以及可信的第三方平台。 此外,文章还提醒用户访问Huobi交易所时需注意核对域名、检查安全证书、启用双重验证以及谨防诈骗信息,以保障账户安全和资金安全。 选择正规渠道登录Huobi交易所,才能安全进行数字资产交易。

本文详细介绍了如何在欧易OKX交易所官网注册账户,并开始加密货币交易。欧易作为全球领先的加密货币交易所,提供丰富的交易品种、多种交易方式和强大的安全保障,并支持多种法币和加密货币的便捷出金。文章涵盖了欧易官网注册入口查找方法、详细注册步骤(包括邮箱/手机注册、信息填写、验证码验证等),以及注册后的注意事项(KYC认证、安全设置等),并解答了常见问题,帮助新手用户快速安全地完成欧易账户注册,开启加密货币投资之旅。

6x交易所推荐人实名认证指南:为了保障账户安全、领取推荐奖励并参与平台活动,6x交易所推荐人必须完成实名认证。本文详细介绍认证流程,包括登录账户、进入实名认证页面、填写个人信息(姓名、国籍、身份证件等)、上传身份证照片(正反面及手持照片)、人脸识别(如有)以及提交审核等步骤。 请确保信息真实准确,照片清晰完整,耐心等待审核结果。完成认证后,您可以享受推荐奖励、更高的账户安全级别以及提升推荐成功率等诸多好处。 请以6x交易所官方最新指引为准。

在数字货币交易平台进行交易时,最令人担忧的情况莫过于买币后卖家未放币或买家无法付款。这两种情况都会严重影响后续交易。本文将重点讲解买家无法付款的应对方法。买币无法付款怎么办?遇到无法付款的情况,首先应检查自身支付方式及账户状态,其次确认网络及交易平台是否正常运行。若问题依旧,联系平台客服通常是最有效的解决途径。以下是一些更详细的解决方法:支付方式问题:部分银行或信用卡机构可能限制加密货币相关交易,尤其涉及国际支付。建议尝试联系银行或信用卡公司了解限制情况并寻求临时解除;或改用其他支付方式,

本文旨在指导用户安全登录币安Binance交易所,避免钓鱼网站和网络诈骗。由于网络环境复杂,币安官方登录入口可能随时更新,使用过期链接可能导致账户信息泄露和资产损失。文章提供三种安全可靠地获取币安官方最新登录入口的方法:关注币安官方网站、应用及社交媒体的公告;联系币安官方客服;通过信誉良好的数字资产信息平台获取。 此外,文章还强调了登录后需注意的安全事项,例如检查域名、确认安全连接、启用双重验证以及警惕诈骗信息,以保障用户数字资产安全。
