nodejs 的基本使用
来源:互联网 发布:php网站提权 编辑:程序博客网 时间:2024/06/04 01:13
全局对象
// 全局对象的宿主,类似于 window 对象global
process
// 是命令行参数数组process.argvglobal.process// =========// 输出到控制台中process.stdout.write('hello');// 将当前控制台中的文件清空process.stdout.write('\033[2J');process.stdout.write('\033[0f');process.exit();// =========// 清空终端process.stdin.resume();process.stdin.on('data', (input) => { // console.log(i++); // 要在此处知道到底input是啥? input = input.toString().trim();});// =========// 下一个事件循环时间处理process.nextTick(callback);// 尽量不要采用如下的方式来写// // 不断的循环阻塞了代码的执行// setTimeout(() => {// for (var i = 0; i < 1000000000; i++) {}// console.log('循环完了');// }, 0);
事件发射器
var events = require("events");var emitter = new events.EventEmitter();// 指定事件监听方法emitter.on("SomeEvent", function(argv1, argv2) { console.log("listener1", argv1, argv2);});emitter.on("SomeEvent", function(argv1, argv2) { console.log("listener2", argv1, argv2);});// 发射事件,多个事件监听方法都会被调用emitter.emit("SomeEvent", "info", 1991);
文件
// 读文件var fs = require('fs');// 读取文件,第二个参数可以是回调函数,可以是文件的编码fs.readFile('./1.png', function(error, data) { if (error) { console.log(error.stack); return ; } console.log(data.toString('base64'));});// 同步的方式来读取文件var content = fs.readFileSync(`./frames/${i}.txt`, 'utf8');fs.readFile('./1.png', (error, data) => { console.log(data.toString('base64'));});// =========// ---------// 写文件const fs = require('fs');fs.writeFile('./a.txt','he111llo');
HTTP服务器与客户端
获取GET参数
var url = require('url');var util = require('util');util.inspect(url.parse(req.url, true));
POST参数
var http = require('http');var querystring = require('querystring');var util = require('util');http.createServer(function(req, res) { var post = ''; req.on('data', function(chunk) { post += chunk; }); req.on('end', function() { post = querystring.parse(post); res.end(util.inspect(post)); });}).listen(3000);
在 end 事件触发后,通过 querystring.parse 将 post 解析为真正的 POST 请求格式,然后向客户端返回。
【注意】 不要在真正的生产应用中使用上面这种简单的方法来获取 POST 请求,因为它有严重的效率问题和安全问题,这只是一个帮助你理解的示例。
返回数据
http.ServerResponse 是返回给客户端的信息,决定了用户最终能看到的结果。
http.ServerResponse 有三个重要的成员函数,用于返回响应头、响应内容以及结束请求。
response.writeHead(statusCode, [headers]):向请求的客户端发送响应头。statusCode 是 HTTP 状态码,如 200 (请求成功)、404 (未找到)等。headers是一个类似关联数组的对象,表示响应头的每个属性。该函数在一个请求内最多只能调用一次,如果不调用,则会自动生成一个响应头。response.write(data, [encoding]):向请求的客户端发送响应内容。data 是一个 Buffer 或字符串,表示要发送的内容。如果 data 是字符串,那么需要指定encoding 来说明它的编码方式,默认是 utf-8。在 response.end 调用之前,response.write 可以被多次调用。response.end([data], [encoding]):结束响应,告知客户端所有发送已经完成。当所有要返回的内容发送完毕的时候,该函数 必须 被调用一次。它接受两个可选参数,意义和 response.write 相同。如果不调用该函数,客户端将永远处于等待状态。
http.createServer(function(req, res) { // HTTP 协议响应头 res.writeHead(200, {'Content-Type': 'text/html'}); // 服务器返回的数据 res.write('<h1>nodejs</h1>'); // 数据发送结束 res.end();
http客户端
修改端口号:
GET 方式获取数据
var http = require('http');http.get({host: 'www.baidu.com'}, function(res) { res.setEncoding('utf8'); res.on('data', function (data) { console.log(data); });});
POST的快捷方式
require的方式
port: 8080,var options = { host: 'www.baidu.com', port: 8080, path: '/, method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length' : contents.length }};var req = http.request(options, function(res) { res.setEncoding('utf8'); res.on('data', function (data) { console.log(data); });});req.write(contents);req.end();
0 0
- nodejs 的基本使用
- nodejs-基本使用
- NodeJS基本使用简介
- nodejs的基本操作
- [NodeJS] Mongoose Populate 基本使用
- nodejs基本的mvc原理
- NodeJS事件的使用
- NodeJS 断言的使用
- nodejs的使用
- NodeJS基本
- NodeJS基本
- NodeJs创建基本的HTTP服务器
- Nodejs对postgresql基本操作的封装
- Nodejs搭建基本的http服务
- windows下nodejs的使用
- nodejs--underscore模块的使用
- nodejs的安装和使用
- nodejs和npm的使用
- Leetcode-Algorithms Add Two Numbers
- 串口显示
- 初见 nodejs
- UML系列图--用例图
- 34. Search for a Range
- nodejs 的基本使用
- Spring学习笔记专题一
- 如何正确搭建能远程访问你的SVN服务器(亲测有效)
- Qt for Android获取手机热点开关状态
- 时钟问题造成的hive运行错误
- 刚开,纪念一下
- 卷积的意义
- Firefox浏览器直接调试jQuery或underscore的方法
- Ubuntu在vmare虚拟机无法上网的解决方法