node.js之模块

1.自定义模块的设置 加载自定义模块利用require:

eg:

require('./custom_module.js')

2.从模块外部访问模块内的成员

2.1使用exports对象

在一个模块文件中定义的本地变量、函数当外界调用时,需要在模块内部使用exports对象,方法如下所示:

var myMsg = 'hello'
var funcname = function(){
return 'I'm funcname function.'
}
exports.myMsg = myMsg
exports.funcname = funcname

2.2将模块定义为类

将模块定义为类,需要将exports对象书写为"module.exports"

现定义一个foo类作为示例:

var _name,_age;
var name='',age=0;
var foo = function(name,age){
_name = name
_age = age
}
foo.prototype.GetName = function(){
return _name
}
foo.prototype.SetName = function(){
_name = name
}
foo.prototype.GetAge = function(){
return _age
}
foo.prototype.SetAge = function(){
_age = age
}
foo.prototype.name = name
foo.prototype = age
module.exports = foo

2.3从node_modules目录中加载模块

如果想将自定义的模块在加载时不用指定路径,例如:require('http')这样,可以将自定义的模块保存到node_module中

2.4使用目录来管理模块

在程序根目录下建立 node_module子目录,

然后在其中为模块建立一个目录,并且在其中创建一个index.js文件

在node_module中建立一个名为模块名的文件夹,在文件夹中创建package.json文件,并填入如下代码:

    {
"name":"custom_modul"
"main":"./lib/custom_modul.js"
}

在文件夹下建立lib文件夹,lib文件夹中书写custom_modul.js

3模块属性

3.1 module.id:模块的ID

3.2 module.filename: 当前模块文件的文件名

3.3 module.loaded :属性值为布尔值

false:模块没有加载完

true:模块加载完成

3.4 module.parent:当前模块的父模块对象

3.5 module.children:属性为一数组,其中存放当前模块的所有子模块

node.js之模块的更多相关文章

  1. Node.js的模块载入方式与机制

    Node.js中模块可以通过文件路径或名字获取模块的引用.模块的引用会映射到一个js文件路径,除非它是一个Node内置模块.Node的内置模块公开了一些常用的API给开发者,并且它们在Node进程开始 ...

  2. Node.js Web模块

    什么是Web服务器? Web服务器是处理由HTTP客户端发送的,如web浏览器的HTTP请求的软件应用程序,并返回响应于客户端网页. Web服务器通常伴随着图片,样式表和脚本的HTML文档. 大多数W ...

  3. Node.js工具模块

    在Node.js的模块库中提供实用的模块数量. 这些模块都是很常见的,并同时开发基于任何节点的应用程序频繁使用. S.N. 模块的名称和说明 1 OS Module提供基本的操作系统相关的实用功能 2 ...

  4. node.js基础模块http、网页分析工具cherrio实现爬虫

    node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言      说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherri ...

  5. Node.js:模块

    概要:本篇博客主要介绍node.js的模块 1.创建模块 在node.js中创建一个模块非常简单,因为一个文件就是一个模块.我们只需要明白如何从其他文件中获取这个模块.Node.js提供了 expor ...

  6. Node.js的安装以及Node.js的模块管理

    索引: Node.js的安装以及Node.js的模块管理Node.js开发环境搭建以及对ES6的支持Node.js构建Vue.js项目Vue.js单文件组件的开发基于Vue.js的UI组件(Eleme ...

  7. Node.js DNS 模块

    Node.js DNS 模块用于解析域名.引入 DNS 模块语法格式如下: var dns = require("dns") 方法 序号 方法 & 描述 1 dns.loo ...

  8. Node.js Net 模块

    Node.js Net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法,我们可以通过以下方式引入该模块: var net = require("net") ...

  9. Node.js OS 模块

    Node.js os 模块提供了一些基本的系统操作函数.我们可以通过以下方式引入该模块: var os = require("os") 方法 序号 方法 & 描述 1 os ...

随机推荐

  1. 关于MySQL的commit非规律性失败案例的深入分析

    案例描述: 一个普通的事务提交,在应用里面会提示commit超时,失败. 一.理论知识 1.关于commit原理,事务提交过程 1.寻找修改的数据页: 1.如果该数据页在内存中,则直接是内存读: 2. ...

  2. Oracle之plsql快速入门

    打开系统输出 set serveroutput on; 只需要打开一次**书写格式 以斜杠/号 结束(基本结构) --declare --语句后面必须以;号结束 declare --用来区分变量名和表 ...

  3. C++第一篇--类的引入

    C++第一篇--类的引入 1. 用C语言输出两个人的信息 Person1.c:通过字符实现 #include <stdio.h> int main(int argc,int **argv) ...

  4. 【一步一步】Spring 源码环境搭建

    平时项目中基本上都会用到spring,但是源码还没有深入的了解过.趁这段时间稍微空闲点,开始研究下spring 源码.下面是spring 源码的环境搭建. 主要分为如下步骤: ①安装jdk,gradl ...

  5. Window下Jenkins的安装

    之前没接触过持续集成工具,之前只是了解了下自动化部署,最近一直在看自动化集成这块,发现要学的东西好多好多,可能在小公司用的不多,但如果在大公司,如果每个项目都要手动build.deploy的话那也太耗 ...

  6. servlet前台中文参数处理

    @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletExcep ...

  7. href设置action绝对路径和相对路径

    绝对路径: 示例: <a href="<%=basePath %>account/list.action"></a> 注意:这里${basePa ...

  8. (转)java for循环的执行顺序和几种常用写法

    算是温习吧.问题比较基础,但是也比较重要.(虽然是C,但是很经典) for循环可以说在每个程序中都少不了的,语句头包括三个部分:初始化,判读条件,一个表达式. 但是这三个部分的执行顺序是什么,这是我们 ...

  9. 1.Why Apache Spark?

    Why Apache Spark? 1 Why Apache Spark 2 关于Apache Spark 3 如何安装Apache Spark 4 Apache Spark的工作原理 5 spark ...

  10. Jsp运行环境——Tomcat

    JSP JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1] 是由Sun Microsystems公司倡导.许多公司参与一起建立的 ...