首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS模块化编程规范1——require.js

概述 require.js是各种网络APP中非常常见的JS依赖库,它其实不仅仅是个模块加载器那么简单。它背后蕴含了一个非常重要的设计,也就是JS模块化编程。...最开始的时候,每个JS框架都会设计自己的模块加载方案,每次使用不同的JS的框架就得理解不同的模块加载方案。...这样,如果大家都约定使用同样的模块规范设计,从一个框架到另外一个框架就没有成本,并且可以互相加载引入。 这里通过一个计算幂运算的例子,详细论述require.js的使用。 2....详论 AMD模块规范听起来很高大上,但实际上并不是很复杂。模块化设计就是为了方便模块之间交互性,那么接口必然是统一而简约的,我们只要按照约定的规则来使用它即可。 2.1....(MyMath.js): //自定义模块 define([".

3.2K10

JS模块化编程以及AMD、CMD规范、Webpack

提示 由于CommonJS和AMD都十分流行,但似乎缺少一个统一的规范。于是,UMD(通用模块规范)出现了,它可以同时支持这两种风格。...虽然这个模式的写法比较难看,但是,它同时兼容了AMD和CommonJS,而且还支持老式的全局变量规范。 什么是JS模块化 先想一想,为什么模块很重要?...考虑到Javascript模块现在还没有官方规范,这一点就更重要了。 CommonJS和AMD。 在CommonJS中,有一个全局性方法require(),用于加载模块。...目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。本系列的第三部分,将通过介绍require.js,进一步讲解AMD的用法,以及如何将模块化编程投入实战。...jquery.js,相当于默认配置了; 依赖非AMD规范模块如果没用define(...)

2.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

JS模块规范总结(面试必备良药)

简介 规范JavaScript的模块定义和加载机制,降低了学习和使用各种框架的门槛,能够以一种统一的方式去定义和使用模块,提高开发效率,降低了应用维护成本。...要想让模块再次运行,必须清除缓存。 2、模块加载会阻塞接下来代码的执行,需要等到模块加载完成才能继续执行——同步加载。 适用场景:服务器环境,nodejs的模块规范是参照commonJS实现的。...适用场景:浏览器环境,requireJS是参照AMD规范实现的 用法: 1、导入:require(['模块名称'], function ('模块变量引用'){// 代码}); 2、导出:define(function.../a.js'], function (moduleA){ console.log(moduleA.a); // 打印出:hello world }); CMD 1、CMD是在AMD基础上改进的一种规范...适用场景:浏览器环境,seajs是参照CMD规范实现的,requireJS的最新的几个版本也是部分参照了CMD规范的实现。

1.7K20

《深入浅出Node.js》:node的模块规范模块实现

Node使用模块化来组织JS代码,模块规范采用CommonJS规范。 对于JavaScript语言本身来说,有几个方面的天然缺陷: 没有模块系统。 标准库较少。...js中没有定义过如Web服务器或数据库之类的标准统一接口。 缺乏包管理系统。这导致js应用中没有自动加载和安装依赖的能力。 在ES6中模块之前,CommonJS可以一定程度上弥补没有标准的缺陷。.../math 就是模块标识;本行代码就是模块引用 16math.add(10, 2); 17 18// 执行test.js文件: node test.js 19// 打印: 20// 12 模块引用:在CommonJS...规范中,存在require()方法,这个方法接受模块标识,以此引入一个模块的API到当前上下文中。...所以CommonJS规范更适合于后端,而前端的模块引入使用AMD规范更适宜,或者也可以使用CMD规范。我更习惯于用AMD规范

1.1K30

模块化-模块规范

为什么有模块规范 上一篇文章,实现了模块化。但是最后还是存在如下的缺点 请求过多 依赖模糊 难以维护 因此就需要模块规范。...模块规范分类 CommonJs AMD CMD: 阿里开发的,只需要了解。 ES6 CommonJS规范 说明 每个文件都被当做一个模块 在服务器端:模块的加载是同步的。...在浏览器端:浏览器引擎不认识require语法,在浏览器端想要使用commonJs规范模块需要提前编译打包处理。...引入模块 第三方模块:xxx为模块名 自定义模块: xxx为文件路径 require(xxx) 实现 服务器端 node.js 浏览器端 Browserify,打包工具。...modules用于存放所有子模块。modules的同级创建一个app.js它去使用其他子模块

56630

模块化服务规范——OSGI

规范和核心部分是一个框架 ,其中定义了应用程序的生命周期模式和服务注册。...现在OSGi规范已经用于从移动电话到开源的Eclipse(其中包括了与IBM的OSGi框架SMF兼容的开源版本)。...因为企业应用的模块化程度不高,即Java EE的模块化更多地是停留在逻辑概念层面。通常,我们会将企业应用以单个WAR包形式存在,其中内置了当前应用所有的内容,包括.class、.jsp、.js等资源。...2、OSGi服务平台Residential规范。这类似于Java ME平台。 3、OSGi服务平台Enterprise规范。这类似于Java EE平台。...OSGi提供了一个微内核的机制,实现了模块的可插拔,并为模块定义了一个清晰的物理格式,保证了模块开发与复用的一致性。

1.5K30
领券