您的位置:

js的2种commonjs,js有几种类型

js的2种commonjs,js有几种类型

更新:

本文目录一览:

javascript模块化是什么及其优缺点介绍

如今backbone、emberjs、spinejs、batmanjs

等MVC框架侵袭而来。CommonJS、AMD、NodeJS、RequireJS、SeaJS、curljs等模块化的JavaScript扑面而

来。web前端已经演变成大前端,web前端的发展速度之快。

1)我们来看看什么是模块化?

模块化是一种将系统分离成独立功能部分的方法,可将系统分割成独立的功能部分,严格定义模块接口、模块间具有透明性。javascript中的模块在一些C、PHP、java中比较常见:

c中使用include 包含.h文件;php中使用require_once包含.php文件

java使用import导入包

此中都有模块化的思想。

2)模块化的优缺点:

a优点:

可维护性

1.灵活架构,焦点分离

2.方便模块间组合、分解

3.方便单个模块功能调试、升级

4.多人协作互不干扰

可测试性

1.可分单元测试

b缺点:

性能损耗

1.系统分层,调用链会很长

2.模块间通信,模块间发送消息会很耗性能

3)最近的项目中也有用到模块化,

使用的是seajs,但是当引用到jquery,jquery easyui/或者jquery

UI组件时,有可能会用到很多jquery插件,那这样要是实现一个很复杂的交互时,模块间的依赖会很多,使用define()方法引入模块会很多,不知

有么有什么好的方法?

4)附:

内聚度

内聚度指模块内部实现,它是信息隐藏和局部化概念的自然扩展,它标志着一个模块内部各成分彼此结合的紧密程度。好处也很明显,当把相关的任务分组后去阅读就容易多了。 设计时应该尽可能的提高模块内聚度,从而获得较高的模块独立性。

耦合度

耦合度则是指模块之间的关联程度的度量。耦合度取决于模块之间接口的复杂性,进入或调用模块的位置等。与内聚度相反,在设计时应尽量追求松散耦合的系统。

CMD 规范是不是就是 commonJS 规范

CMD是国内玉伯大神在开发SeaJS的时候提出来的,属于CommonJS的一种规范,此外还有AMD,其对于的框架是RequireJS

1、二者都是异步模块定义(Asynchronuous Module Definition)的一个实现;

2、CMD和AMD都是CommonJS的一种规范的实现定义,RequireJS和SeaJS是对应的实践;

3、CMD和AMD的区别:CMD相当于按需加载,定义一个模块的时候不需要立即制定依赖模块,在需要的时候require就可以了,比较方便;而AMD则相反,定义模块的时候需要制定依赖模块,并以形参的方式引入factory中。

区别看下边例子:

//AMD方式定义模块

define(['dep1','dep2'],function(dep1,dep2){

//内部只能使用制定的模块

return function(){};

});

//CMD

define(function(require,exports,module){

//此处如果需要某XX模块,可以引入

var xx=require('XX');

});

4、JavaScript语言是弱结构性的,通过CommonJS定义一些规范,CMD和AMD得定义模块的方式对代码进行管理,使得更易维护;此外,NodeJS的诞生,对模块的规范定义,和包(npm)的概念的引入,让JS管理不再困难,一个字,爽爆了!

简述什么是commonjs,以及其与nodejs的关系

自从CommonJS和NodeJS两个项目的出现,JavaScript作为本地编程语言的这种特殊应用形式,才开始进入进入大众的视野。

说明什么是CommonJS。 另外随着并行计算的普及,像JavaScript这种函数式语言,由于其固有的易于进行并行计算的特性,将有更广阔的应用前景。

什么是【CommonJs】

CommonJs 是一种 JavaScript 语言的模块化规范,它通常会在服务端的 Nodejs 上使用。项目是由多个模块组成的,模块和模块之间的调用,需要各个模块有相同规范的 API,这样一来在使用的过程中不会有那么多的学习成本,并且对于单个模块来说是类聚的。

在 CommonJs 的模块化规范中,每一个文件就是一个模块,拥有自己独立的作用域、变量、以及方法等,对其他的模块都不可见。CommonJS规范规定,每个模块内部,module 变量代表当前模块。这个变量是一个对象,它的 exports 属性(module.exports)是对外的接口。加载某个模块,其实是加载该模块的 module.exports 属性。require 方法用于加载模块。

模块化规范给项目带来极大的好处,在业务复杂,模块众多的大型项目中,开发者都遵循相同的规则来开发各自的模块,他们通过规范来约束模块的定义,大家不需要太多的沟通或者大量的文档来说明自己的模块使用规则,成千上万的模块就这样生产,并能够容易的使用。它的意义不仅是让模块看起来很规范,在合作开发、社区中传播中也起到了重大的作用。

js的2种commonjs,js有几种类型

本文目录一览: 1、javascript模块化是什么及其优缺点介绍 2、CMD 规范是不是就是 commonJS 规范 3、简述什么是commonjs,以及其与nodejs的关系 4、什么是【Comm

2023-12-08
js高级程序设计笔记14(js高级程序设计笔记14页)

本文目录一览: 1、JavaScript高级程序设计 该怎么看 2、JavaScript学习笔记之数组基本操作示例 3、JS中有关sort以及return的问题 JavaScript高级程序设计 该怎

2023-12-08
js模块规范cjs,js模块规范esm

本文目录一览: 1、在node环境下怎么使用commonjs模块去使用require方法 2、如何理解前端模块化 3、js代码规范问题 JavaScript判断语句规范 4、使用 MockJs — 实

2023-12-08
htmljs编程笔记(html代码笔记)

本文目录一览: 1、html代码和JS代码有什么区别 2、如何在html中调用js函数 3、JavaScript学习笔记之数组基本操作示例 4、HTML5初学者笔记 5、《web前端笔记7》js字符—

2023-12-08
js代码总结体会,js基础知识总结笔记

本文目录一览: 1、js到底难不难学? 2、JS 代码 求解释 可以详细的 说明一下 谢谢 3、浅谈js写轮播图的思路与心得 4、JavaScript与WEB前台开发课程实训总结怎么写 5、js中继承

2023-12-08
js代码中script,js代码中的问号是什么意思

本文目录一览: 1、javascript中script的SRC属性 2、JS代码里加载script代码,并隐藏其内容怎么弄呢? 3、使用javascript必须使script标签吗 javascrip

2023-12-08
关于js代码同步异步的信息

2022-11-25
commonjs的核心思想(commonjs语法)

本文目录一览: 1、工程化属于技术研发阶段的哪一个阶段? 2、如何正确理解javascript的模块化 3、简述什么是commonjs,以及其与nodejs的关系 4、工程化是什么 工程化属于技术研发

2023-12-08
javascript简要笔记,JavaScript读书笔记

2022-11-17
js引入commonjs,Js引入split

2022-11-23
jsp程序开发学习笔记2,jsp程序设计题库

本文目录一览: 1、《JSP&Servlet学习笔记》pdf下载在线阅读,求百度网盘云资源 2、林信良编著jsp&servlet学习笔记第2版课后答案吗 3、jsp有没有快速掌握的办法呀? 4、要学J

2023-12-08
java返回给js的值类型,java获取方法返回值类型

2022-12-02
保护js代码的几种方法,js代码保护方案

2022-11-24
commonjs和es6转换,commonjs和es6混用

本文目录一览: 1、node 循环加载- 2、如何将es5的代码转换为es6 3、ES6 模块与 CommonJS 模块的差异 4、怎么快速上手JavaScript中的ES6,ES6中的解构,运算符,

2023-12-08
谈谈你是如何理解js异步编程的(js异步编程的四种方法)

本文目录一览: 1、我对JS异步执行机制的理解 2、js的同步、异步是指什么?怎么回事?与线程有关吗? 3、javascript同步和异步的区别与实现方式 4、js异步是什么意思,怎么理解js异步思想

2023-12-08
js创建样式类,样式的创建和使用

本文目录一览: 1、JavaScript如何创建一个类? 2、Javascript里的style怎样追加 3、怎样用JS来添加CSS样式 4、JS创建的style样式怎么使用变量 5、用JavaScr

2023-12-08
重学java笔记,java笔记总结

2022-11-23
js中console的几种方法,js中console是什么意

本文目录一览: 1、javascript 中的console.log有什么作用啊?是做什么的呢?谢谢大家 2、js数组几种常见的操作方法 3、js怎样 console打印时间 4、js调试的时候怎么在

2023-12-08
esm和commonjs(esm和commonjs区别)

本文目录一览: 1、JS模块化规范 2、webpack作者评价vite 3、前端面试计划(二)ES6「v2-附加代码」 4、简述什么是commonjs,以及其与nodejs的关系 5、typescri

2023-12-08
commonjs怎么用,commonjs和requirejs

本文目录一览: 1、用commonjs方式开发前端 怎么弄 2、commonjs 循环引用 怎么实现 3、如何在node.js中使用requirejs 4、在node环境下怎么使用commonjs模块

2023-12-08