nodejs基础知识点

var http = require("http");载入 http 模块,并将实例化的 HTTP 赋值给变量 http

使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口

函数通过 request, response 参数来接收和响应数据

可以使用下划线 _ 获取上一个的结果

ctrl + d 退出 Node 命令

.clear 退出多行表达式

Node.js 异步编程的直接体现就是回调.回调函数一般作为函数的最后一个参数出现.

非阻塞调用,不需要等待文件读取完,不需要按顺序的,这样就可以在读取文件时同时执行接下来的代码,大大提高了程序的性能。

非阻塞式IO或者事件驱动IO,webserver一直接受请求而不等待任何读写操作。

var events = require('events');引入 events 模块
var eventEmitter = new events.EventEmitter();创建 eventEmitter 对象

events 模块只提供了一个对象: events.EventEmitter。
EventEmitter 的核心就是事件触发与事件监听器功能的封装。

扫描二维码关注公众号,回复: 5729527 查看本文章

on(event, listener),on 函数用于绑定事件函数。接受一个字符串 event 和一个回调函数。

emit(event, [arg1], [arg2], [...]) 按参数的顺序执行每个监听器

emit 属性用于触发一个事件
event.emit('some_event');   向 event 对象发送 some_event事件

once(event, listener)监听器最多只会触发一次

listenerCount(emitter, event)返回指定事件的监听器数量。

写入缓冲区 len = buf.write("www.runoob.com");
从缓冲区读取数据 buf.toString('ascii'))
将 Buffer 转换为 JSON 对象buf.toJSON()
缓冲区合并Buffer.concat([buffer1,buffer2])
缓冲区比较buffer1.compare(buffer2)
拷贝缓冲区buf2.copy(buf1, 2);//将 buf2 插入到 buf1 指定位置上 从0开始
缓冲区裁剪buffer1.slice(0,2)   实际是前两个存在
缓冲区长度buffer.length


Stream 是一个抽象接口
创建可读流var readerStream = fs.createReadStream('input.txt');

写入流var writerStream = fs.createWriteStream('output.txt');
查看写入的文件的内容 cat 文件名

读取一个文件内容并将内容写入到另外一个文件中 readerStream.pipe(writerStream);

创建模块,一个 Node.js 文件就是一个模块
Node.js 提供了 exports 和 require 两个对象,exports 是模块公开的接口,require 用于从外部获取一个模块的接口 

var hello = require('./hello');  通过 require('./hello') 加载这个hello.js文件,就可以访问exports对象的成员函数
exports.world  把world当成访问接口 

module.exports = Hello 在外部引用该模块时,其接口对象就是要输出的 Hello 对象本身,而不是原先的 exports。

如果要对外暴露属性或方法,就用 exports 就行,要暴露对象(类似class,包含了很多属性和方法),就用 module.exports。

匿名函数 不用给这个函数起名字,把一个函数作为变量传递
 
Node.js 中的全局对象是 global
不可能在最外层定义变量,因为所有用户代码都是属于当前模块的,

永远使用 var 定义变量以避免引入全局变量,因为全局变量会污染命名空间

console.log( __filename );表示当前正在执行的脚本的文件名
console.log( __dirname );表示当前执行脚本所在的目录。

setTimeout(cb, ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。:setTimeout() 只执行一次指定函数。

setInterval(cb, ms)同上,但是 会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。

console 用于提供控制台标准输出
console.log 接收若干 个参数,如果只有一个参数,则输出这个参数的字符串形式。
如果有多个参数,则 以类似于C 语言 printf() 命令的格式输出。

var fs = require("fs")导入文件系统模块(fs)

异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。比起同步,异步方法性能更高,速度更快,而且没有阻塞。

打开文件fs.open('input.txt', 'r+', function(err, fd) 
'input.txt'文件的路径。    r+以读写模式打开文件。如果文件不存在抛出异常。 回调函数,

获取文件信息
fs.stat(path, callback)   文件路径    回调函数

写入文件fs.writeFile('input.txt', '我是通 过fs.writeFile 写入文件的内容',  function(err)

读取文件fs.read(fd, buf, 0, buf.length, 0, function(err, bytes)

关闭文件fs.close(fd, function(err)

截取文件  删除文件 创建目录fs.mkdir(path[, options], callback)  读取/删除目录
 
获取GET请求内容
URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数。
可以使用 url.parse 方法来解析 URL 中的参数

通过 POST 提交并输出数据

Express 是一个简洁而灵活的 node.js Web应用框架,可以快速地搭建一个完整功能的网站
静态文件

router.get('/',service.showIndex)    路径  业务方法

exports.showIndex=(req,res)=>{res.render('index',{list:data})} 

showIndex方法    'index',{list:data} 模板文件名称 数据

猜你喜欢

转载自blog.csdn.net/qq_41160739/article/details/88931399