CommonJS& RequireJS&SeaJS三者概念的详细介绍
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CommonJS& RequireJS&SeaJS三者概念的详细介绍相关的知识,希望对你有一定的参考价值。
当前端越来越发展的时候,传统的开发已经不能满足于前端性能和工程化的要求,所以作为一名高级的前端开发人员,必须要学习前端模块化方面的知识;
下面主要谈一下,common.js require.js&sea.js这三者的相关介绍;
common.js
commonjs是伴随着Node.js一起出现的,Node 应用由模块组成,采用就是 CommonJS 模块规范;
CommonJS API定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。它的终极目标是提供一个类似Python,Ruby和Java标准库。这样的话,开发者可以使用CommonJS API编写应用程序,然后这些应用可以运行在不同的javascript解释器和不同的主机环境中。在兼容CommonJS的系统中,你可以实用JavaScript程序开发:
服务器端JavaScript应用程序
命令行工具
图形界面应用程序
混合应用程序(如,Titanium或Adobe AIR)
CommonJS定义的模块分为:{模块引用(require)} {模块定义(exports)} {模块标识(module)}
require()用来引入外部模块;exports对象用于导出当前模块的方法或变量,唯一的导出口;module对象就代表模块本身。
AMD 与 RequireJS
AMD
define( id?, dependencies?, factory );
define("alpha", [ "require", "exports", "beta" ], function( require, exports, beta ){ export.verb = function(){ return beta.verb(); // or: return require("beta").verb(); } });
RequireJS
CMD 与 seaJS
CMD
seaJS
AMD 与 CMD 的区别?
// CMD define(function(require, exports, module) { var a = require(‘./a‘) a.doSomething() // 此处略去 100 行 var b = require(‘./b‘) // 依赖可以就近书写 b.doSomething() // ... }) // AMD 默认推荐的是 define([‘./a‘, ‘./b‘], function(a, b) { // 依赖必须一开始就写好 a.doSomething() // 此处略去 100 行 b.doSomething() // ... })
以上是关于CommonJS& RequireJS&SeaJS三者概念的详细介绍的主要内容,如果未能解决你的问题,请参考以下文章