1、什么是模块
在node.js中模块和文件是一一对应的。一个node.js文件就是一个模块,这个文件可能是js代码,JSON或者编译过的c/c++扩展。
2、创建模块
//module.js var name; exports.setName = function(thyName) { name = thyName; }; exports.sayHello = function() { console.log('Hello ' + name); };
创建一个模块非常简单,因为一个模块就是一个文件。node.js提供了exports对象,它是模块的公开接口。
3、加载模块
在2的基础上,我们创建文件getmoudle.js,内容是
var myModule = require('./module'); myModule.setName('BYVoid'); myModule.sayHello();
运行结果是:Hello SYVoid
module.js通过exports对象把setName和sayHello作为模块的访问接口,在getmodels.js通过require对象加载模块,然后就可以访问exports对象的成员函数了。
代码像是创建了一个对象,但是又由本质的区别。因为require不会重复加载模块,五六年调用多少次require,获得的模块都是同一个。我们在上面的代码上稍作修改,然后在执行一次。
//loadmodule.js var hello1 = require('./module'); hello1.setName('BYVoid'); var hello2 = require('./module'); hello2.setName('BYVoid 2'); hello1.sayHello();
最后的输出结果为:
Hello BYVoid 2
这是因为hello1和hello2指向的是同一个实利,因此hello.setName被hello.setName覆盖。
4、覆盖exports
//hello.js function Hello() { var name; this.setName = function(thyName) { name = thyName; 4 }; this.sayHello = function() { console.log('Hello ' + name); }; }; module.exports = Hello;
module.exports = Hello,覆盖了exports对象,当外部引用hello.js的时候,输出的是Hello对象本身,而不再是exports对象。实际上,exports本身仅仅是一个普通的空对象,即{},它专门用来声明接口,本质上是通过它为模块壁报的内部建立的一个有限访问的接口。
相关推荐
Node.js作为一个开源、跨平台的JavaScript运行环境,它在服务器端执行JavaScript代码,极大地拓宽了JavaScript的应用领域。本文将深入探讨一些优秀的Node.js模块,这些模块可以帮助开发者扩展其应用程序的功能,提升...
标题中的“Node.js-一个用于自动获取支付宝账单信息的Node.js模块”表明我们要讨论的是一个基于Node.js的模块,其主要功能是自动化获取支付宝用户的账单数据。这个模块利用了Node.js的非阻塞I/O和事件驱动特性,使得...
Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...
* 广泛的第三方模块生态系统: Node.js 有一个庞大的第三方模块生态系统,提供了大量的类库和框架来帮助开发者快速构建应用程序。 Node.js 的缺点包括: * 学习曲线陡峭: Node.js 的异步机制和事件驱动机制需要...
Node.js 是一个开源、跨平台的 JavaScript 运行环境,它让开发者可以在服务器端执行 JavaScript 代码。Node.js 使用了 Google V8 引擎,这个引擎是为 Chrome 浏览器设计的,因此 Node.js 具有高性能和高效性的特点。...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,允许开发者使用 JavaScript 语言来编写服务器端代码。Node.js 的出现改变了传统的 Web 开发模式,使得开发者可以使用 JavaScript 语言来开发服务器端...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它以其非阻塞I/O和事件驱动的模型,为构建高性能的网络应用提供了可能。 Node.js的核心特性包括单线程事件循环、异步编程、模块系统以及强大的文件系统操作等...
Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...
Node.js 是一个开源、跨平台的JavaScript运行环境,它允许开发者在服务器端执行JavaScript代码,极大地拓宽了JavaScript的应用领域。10.16.3-x64 版本是 Node.js 的一个稳定版本,适用于64位操作系统。下面将详细...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"Node.js最新手册"很可能包含了关于Node.js的最新API、模块系统、事件驱动模型以及异步I/O等内容。 在...
1. **Node.js基础**:Node.js是一个基于Chrome V8引擎的JavaScript运行环境,允许开发者在服务器端使用JavaScript编写程序。它将JavaScript的灵活性和强大性能带入了服务端开发,使得前后端开发语言统一成为可能。 ...
Node.js 是一个开源、跨平台的JavaScript运行环境,它允许开发者在服务器端执行JavaScript代码,极大地拓宽了JavaScript的应用领域。标题“Welcome to Node.js v14.17.6”表明我们将探讨的是Node.js的特定版本——v...
Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...
在14.x版本中,Node.js引入了对ES模块的实验性支持,这是一种更现代的JavaScript模块系统,与CommonJS系统并行存在。这使得开发者可以使用`import`和`export`关键字来管理模块,提高代码可读性和可维护性。 此外,...
Node.js 应用程序是用 JavaScript 编写的,可以在 Mac OS X、Windows 和 Linux 上的 Node.js 运行时中运行而无需更改。 Node.js 应用程序旨在最大限度地提高吞吐量和效率,使用非阻塞 I/O 和异步事件。Node.js 应用...
Node.js的编程基础通常包括对JavaScript语言的熟悉,以及对Node.js提供的核心模块和API的了解。Node.js标准库中包含了许多有用的模块,例如文件系统模块(fs)、HTTP模块、网络通信模块等,这些模块使得在Node.js...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许我们在服务器端编写JavaScript代码,实现强大的网络应用功能。结合CSS和前端技术,我们可以创建出动态且交互式的时钟界面。 首先,我们需要了解Node.js...
Lyo 提供将Node.js模块发布为与浏览器兼容的库的最简单方法
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这本《Node入门一本全面地Node.js教程》PDF,是学习Node.js的基础指南,涵盖了从安装到实际项目开发的全方位...