Nodejs知识

2019-04-17  本文已影响0人  benbensheng

1.

supervisor 无需重启服务器,代码改变后直接刷新
安装 cnpm install -g supervisor
使用 supervisor app.js

2.

image.png

3.

Node.js 的模块和包机制的实现参照了 CommonJS 的标准

第一种
var name;
exports.setName=function(thyName){
name=thyName;
}
exports.sayHello=function(){
console.log('hello'+name);
}
引用模块
var myMoudle=require("./moudle"); //注意./是必须的
myMoudle.setName('ben');
myMoudle.sayHello(); //helloben

第二种
function hello(){
var name;
this.setName=setName=function(thyName){
name=thyName;
}
this.sayHello=function(){
console.log('hello'+name);
}
}
module.exports=hello;

引用模块
var myMoudle=require("./moudle");
var hello =new myMoudle();
hello.setName('ben');
hello.sayHello();

var hello1 = require('./module');
hello1.setName('BYVoid');
var hello2 = require('./module');
hello2.setName('BYVoid 2');
hello1.sayHello();
运行后发现输出结果是 Hello BYVoid 2,这是因为变量 hello1 和 hello2 指向的是同一个实例,因此 hello1.setName 的结果被 hello2.setName 覆盖,最终输出结果是由后者决定的。

moudle里面的函数自动执行,变量得向外暴露
moudle.js
var ben=10;
console.log(ben);
app.js
var Person=require("./moudle"); //10

4

node debug debug.js,将会启动调试工具


image.png

5

全局对象
process 是一个全局变量,即 global 对象的属性。它用于描述当前 Node.js 进程状态
的对象,提供了一个与操作系统的简单接口
process.nextTick(callback)
将 callback 添加到"next tick 队列"。 一旦当前事件轮询队列的任务全部完成,在next tick队列中的所有callbacks会被依次调用。


image.png
image.png

6

继承 EventEmitter
大多数时候我们不会直接使用 EventEmitter,而是在对象中继承它。包括 fs、 net、http 在内的,只要是支持事件响应的核心模块都是 EventEmitter 的子类

7MVC

模型是对象及其数据结构的实现,通常包含数据库操作。
视图表示用户界面,在网站中通常就是 HTML 的组织结构。
控制器用于处理用户请求和数据流、复杂模型,将输出传递给视图


image.png
上一篇 下一篇

猜你喜欢

热点阅读