码迷,mamicode.com
首页 > Web开发 > 详细

Node.js(二)——模块与包管理工具

时间:2017-03-19 22:38:42      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:node.js(二)——模块与包管理工具

http,process等等这些都是模块

一、Node.js的模块与Commonjs规范

1.js的天生缺陷——缺少模块化管理机制

·表现——JS中容易出现变量被覆盖,方法被替代的情况(既被污染)。特别是存在依赖关系时,容易出现错误。这是因为JS缺少模块管理机制,来隔离实现各种不同功能的JS判断,避免它们相互污染。

·解决——经常采用命名空间的方式,把变量和函数限制在某个特定的作用域内,人肉约定一套命名规范来限制代码,保证代码安全运行。jQuery中有许多变量和方法,但是无法直接访问,必须通过jQuery,$调用 各个方法。

2.Commonjs规范

不同于jQuery,Commonjs是一套规范,约定了js如何组织,如何编写,包括包,二进制,套接字,单元测试等等。大部分标准在拟定和讨论之中,首先把执行不同任务的代码块和代码文件看为独立的模块,每一个模块都是一个单独的作用域,但不是孤立的,可能存在依赖关系。每个模块分为三个部分,定义、标识和引用。这套规范与现实产品如node.js相互影响,良性循环。

3.NodeJs的模块管理机制

基于commonjs实现了模块管理系统。node中每一个js文件都是一个独立的模块,在其内部不需要有命名空间,不需要担心变量的污染和方法定义时的隔离。同时模块之间可以组合形成更强大的模块或功能包。npm即是用来管理各种功能包的。


二、模块的分类

在NodeJs中文件和模块是一一对应的

文件分为几种不同的类型,大概分为核心模块、本地模块和通过npm安装的第三方模块

根据模块的类型有几种引用模块的方式

1.可以通过文件路径来引用模块

2.通过模块名来引用

如果用模块名来引用非核心模块的话,Node最终会把模块名映射到

对应的模块文件的路径,而那些包含核心函数的核心模块会在Node启动时预先加载

技术分享


三、简单的Nodejs模块

创建模块:一个入口的js文件,里面加入一些特定的功能

导出模块:把这个功能和这个文件也就是这个模块名建立关系

加载模块:在其他的文件里引入并加载这个模块,在NodeJs使用require来完成这个工作

使用模块:直接调用模块中命名好的方法来做一些特定的逻辑处理,完成某种功能

技术分享


本文出自 “IT菜鸟” 博客,请务必保留此出处http://mazongfei.blog.51cto.com/3174958/1908213

Node.js(二)——模块与包管理工具

标签:node.js(二)——模块与包管理工具

原文地址:http://mazongfei.blog.51cto.com/3174958/1908213

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!