什么是模块?

一个node.js文件就是一个模块,这个文件可能是js代码,json或者编译过的C/C++扩展

创建及加载模块

```
//a.js
var name;
exports.setName = function(thyName){
name = thyName;
};
exports.sayHello = function(){
console.log("hello"+name);
};
```
```
//b.js
var myModule = require('./a.js');
myModule.setName('柠檬不酸');
myModule.sayHello();
```

对象封装到模块中

第一种

```
function Hello(){
var name;
this.setName = function (thyName){
name=thyName;
}
this.sayHello = function(){
console.log('hello'+name)
}
}
exports.Hello=Hello;
```
```
var Hello = require('./c.js').Hello;
hello = new Hello();
hello.setName('柠檬不酸le');
hello.sayHello();

<p>第二种</p>

//c.js

function Hello(){

var name;

this.setName = function (thyName){

name=thyName;

}

this.sayHello = function(){

console.log('hello'+name)

}

}

module.exports = Hello;

//d.js

var Hello = require('./c.js');

hello = new Hello();

hello.setName('柠檬不酸');

hello.sayHello();

注意:不可以通过exports 直接赋值代替对module.exports赋值;

exports实际上只是一个和module.exports指向同一个对象的变量,它本身会在模块执行结束后释放,

但module不会,因此只能通过指定module.exports来改变访问接口;

<h2>创建包</h2>
<p>包是在模块基础上更深一步的抽象,它将某个独立的功能封装起来,用于发布,更新,依赖管理和版本控制</p>
<p>Node.js的包是一个目录,其中包含一个JSON格式的包说明文件package.json</p>

11-《Node.js开发指南》-模块和包的更多相关文章

  1. Node.js开发指南中的例子(mysql版)

    工作原因需要用到nodejs,于是找到了<node.js开发指南>这本书来看看,作者BYVoid 为清华大学计算机系的高材生,年纪竟比我还小一两岁,中华地广物博真是人才辈出,佩服. 言归正 ...

  2. 学习Nodejs:《Node.js开发指南》微博项目express2迁移至express4过程中填的坑

    <Node.js开发指南>项目地址https://github.com/BYVoid/microblog好不容易找到的基础版教程,但书中是基于express2的,而现在用的是express ...

  3. 《node.js开发指南》partial is not defined的解决方案

    由于ejs的升级,<node.js开发指南>中使用的 partial 函数已经摒弃,使用foreach,include代替 原来的代码是: <%- partial('listitem ...

  4. 《Node.js开发指南》知识整理

    Node.js简介 Node是一个可以让JavaScript运行在服务器端的平台,抛弃了传统平台依靠多线程来实现高并发的设计思路,而采用单线程.异步式I/O.事件驱动式的程序设计模型. 安装和配置No ...

  5. NODE.JS开发指南学习笔记

    1.Node.js是什么 Node.js是一个让JS运行在服务器端的开发平台,它可以作为服务器向用户提供服务.Node.js中的javascript只是Core javascript,或者说是ECMA ...

  6. Node.js 开发指南笔记

    第一章:node简介 介绍了node是什么:node.js是一个让javascript运行在服务器端的开发平台, node能做些什么:[书上的] 具有复杂逻辑的网站 基于社交网络的大规模Web应用 W ...

  7. Node.js 开发指南

    1.Node.js 简介 Node.js 其实就是借助谷歌的 V8 引擎,将桌面端的 js 带到了服务器端,它的出现我将其归结为两点: V8 引擎的出色: js 异步 io 与事件驱动给服务器带来极高 ...

  8. node.js开发指南读书笔记(1)

    3.1 开始使用Node.js编程 3.1.1 Hello World 将以下源代码保存到helloworld.js文件中 console.log('Hello World!'); console.l ...

  9. 《node.js开发指南》读书笔记(一)

    在开发时如果修改了js内容,不能通过刷新浏览器直接看到效果,必须通过重启nodejs程序才能看到,这样显然不利于开发调试,supervisor可以实现这个功能,监视对代码的改动,并自动重启nodejs ...

  10. Node.js 开发指南-读书笔记

    1. Node.js 使用了单 线程.非阻塞的事件编程模式 Node.js 最大的特点就是采用异步式 I/O 与事件驱动的架构设计.对于高并发的解决方 案,传统的架构是多线程模型,也就是为每个业务逻辑 ...

随机推荐

  1. JS操作document对象

    找到对象: document.getElementById():返回对拥有指定 id 的第一个对象的引用. document.getElementsByName():返回带有指定名称的对象集合. do ...

  2. Windows基础

    目录 一. 硬件概述 二.常见硬件设备 三.文件系统 四. 文件类型和DOS命令 五 .批处理 六 .TCP/IP概述和Windows配置 七.网络设置.DNS.邮件★ 一. 硬件概述 1.计算机的发 ...

  3. 浅析Java堆,栈,方法区

    栈(Stack) 1.栈是线程私有的,其生命周期和线程相同. 2.每个方法在执行的时候都会开辟一个栈区,同时创建一个栈帧(Stack Frame). 3.栈帧用于存储局部变量表,操作数栈,动态链接和方 ...

  4. maven打包mapper.xml打不进去问题

    <resources> <resource> <directory>src/main/java</directory> <includes> ...

  5. 【Eureka】集群搭建

    [Eureka]集群搭建 转载============================================== ====================================== ...

  6. centos7 redis 6379端口telnet不通

    1.查看redis服务是否启动,如图所示,redis已经启动 2.查看是否监听正确的ip和端口 发现问题:端口号6379没错,但是ip是127.0.0.1,表示只能本地访问,问题就出在这. 3.修改r ...

  7. 《Java基础知识》Java断言

    断言:也就是所谓的assertion,是jdk1.4后加入的新功能. 它主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出. 当软件正 ...

  8. ubuntu14.04编译gnu global 6.6.3

    打算重新折腾下环境,看中了gtags ,可参考 Vim 8 中 C/C++ 符号索引:GTags 篇 ,先记录下编译过程 源码 下载并解压源码 最新的代码到官方下载页面获取 https://www.g ...

  9. C#线程学习笔记十:async & await入门三

    一.Task.Yield Task.Yield简单来说就是创建时就已经完成的Task,或者说执行时间为0的Task,或者说是空任务,也就是在创建时就将Task的IsCompeted值设置为0. 我们知 ...

  10. C# 派生和继承(派生类与基类)

    using System; using System.Collections.Generic; using System.Text; namespace 继承 { class Program { st ...