node.js学习之路(1)

node.js 属于后台语言,后台语言还有php,java等。

优势:1.性能好   node.js VS php   86倍

2.跟前台JS配合方便

3.node.js便于前端学习

https://nodejs.org

Node.js 命令

1.切换盘符 e:

2.改变目录 cd 目录名

3.执行程序 node 文件名.js

Js能用的Node.js 都能用

node.js(自带许多模块可以参考node.js api)

node.js———服务器

http —— 协议

request   请求   输入-请求的信息

response 响应  输出-输出的信息

搭建简单的服务器:

const http = require(‘http‘); //请求http模块

http.createServer(function(res,req) {

//createServer(回调函数)用来创建服务器

//  console.log("有人来了")

res.write("abc");

res.end();

//监听//端口

}).listen(8080)

文件操作:fs — Flie Ssytem

同步vs异步

同步—一次一个

异步—多个操作可以同时进行,前一次的操作没完事,后一次也进行操作

//读写文件

readFile(文件名,function(err,data){})

writeFile(文件名,内容,function(err,data){})

服务器读写案例

const http = require(‘http‘);

const fs = require(‘fs‘);

http.createServer(function(req, res) {

//req.url=>‘/index.html‘

//读取=>‘./www/index.html‘

//‘./www‘+req.url

var file_name = ‘./www‘ + req.url;

fs.readFile(file_name, function(err, data) {

if (err) {

res.write(‘404‘)

} else {

res.write(data)

}

res.end();

});

}).listen(8080)

请求方式:

1.get 数据在url中

2.post 数据不再url中

/////////////////////////////////////////////////////////////

req.url =>"/aaa?user=blur&pass=1234"

/aaa

user=blur

pass=1234

//////////////////////////////////////////////////////////////////

GET解析路径

1.自己切

2.querystring模块    xxx=xxxx&xx=xx

3.url模块                 aaa?xxx=xx&xxx=12

urlLib=require("url");

urlLib.parse(url,true); pathname

query

POST解析路径

POST数据接收:Post 数据比GET大得多

POST 很大 __分段

const http = require(‘http‘);

const urlLib = require(‘url‘);

const querystring = require(‘querystring‘);

http.createServer(function(req, res) {

//Post-req

var str = ‘‘; //接受数据

var i = 0;

req.on(‘data‘, function(data) {

console.log(`第${i++}次收到数据`)

str += data;

});

req.on(‘end‘, function() {

var POST = querystring.parse(str);

console.log(POST)

})

}).listen(8088)

综合案例

const http = require(‘http‘);

const fs = require(‘fs‘);

const urlLib = require(‘url‘);

const querystring = require(‘querystring‘);

http.createServer(function(req, res) {

//GET

const obj = urlLib.parse(req.url, true)

var url = obj.pathname;

const GET = obj.query;

//POST

var str = ‘‘;

req.on(‘data‘, function(data) {

str += data;

});

req.on(‘end‘, function() {

const POST = querystring.parse(str);

})

/**

*

*/

console.log(url, GET, POST)

//文件请求

var flie_name = ‘./www‘ + url;

fs.readFile(flie_name, function(err, data) {

if (err) {

res.write(‘404‘)

} else {

res.write(data)

}

res.end();

})

}).listen(6666);

以上是node的前奏基础知识

后续请继续关注

时间: 2024-10-07 14:08:35

node.js学习之路(1)的相关文章

Node.js自学之路——2.前端管理

序—— <Node.js自学之路>系列文章,将记录我学习基于Node.js进行Web开发的过程. Node.js是基于V8引擎运行的开发平台,执行JavaScript速度快.性能好:也因其以JavaScript作为开发语言,对于前端工程师而言,它的学习曲线更低.开发效率更高. 文章目录: Node.js自学之路——1.环境搭建 Node.js自学之路——2.前端管理 一.Bower——前端类库管理 1.为什么使用bower 前端需要使用大量的类库,常用的就有:用来解决IE功能性Bug的HTML

Node.js自学之路——1.环境搭建

序—— <Node.js自学之路>系列文章,将记录我学习基于Node.js进行Web开发的过程. Node.js是基于V8引擎运行的开发平台,执行JavaScript速度快.性能好:也因其以JavaScript作为开发语言,对于前端工程师而言,它的学习曲线更低.开发效率更高. 一.安装Node.js 1.进入Node.js官网下载并安装 2.启动cmd输入命令查看node及npm版本 node -v npm -v npm是node完成安装后自带的包管理器 二.安装Express express

NODE.JS学习的常见误区及四大名著

NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang/p/4374681.html 收到了很多兄弟的热情回复和激烈讨论,在此深表感谢,有的朋友觉得我写的比较粗犷,没有给出具体的性能分析和对比,在此我想说的是其实好多东西的性能分析,根本就不用我写到博客上,其一是如果我写了,很多人同样会觉得不客观,不中立,其二是网上很多中立的机构,随便搜索一下,对比太多

Node.js学习笔记(3) - 简单的curd

这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简单介绍 这次demo,只涉及到简单的curd操作,用到的数据库是mongo,所以要安装mongo数据库,数据库连接驱动是mongoose: 当然关于mongo的驱动有很多,比如mongous mongoskin等:(详见http://cnodejs.org/topic/4f4ca8e0940ce2e

node.js 学习 00

前言 先写点废话,相中node.js倒是纯属偶然. 在这之前我想要要搭建一个人网站,我感到现有的博客/空间之类只能给予用户有限的控制力.于是在AWS上申请了免费一年的VPS,自己买了一个域名,百度了之后选择了在主机上挂了一个nginx.在这之后我发现直接手写html是一件十分麻烦的事情,于是暂时失去了构建的方向.只是改了改nginx的默认的主页,就先放着了. 在这之后的新学期里,我多一门 数据库原理 的课程,在这之前我通过王垠的博客了解过Nosql的一些概念.数据库原理老师对传统关系性数据库的吹

Node.js 学习一

Node.js是一个可以让javascript运行在服务器端的平台.node.js是一个为实时web应用开发而诞生的平台,它考虑到了实时响应/超大规模数据要求下架构的可扩展性.它采用了单线程,异步石IO,事件驱动式的设计模式. Node.js有着强大而灵活的包管理器(node package manager)npm node.js 架构设计:1,异步式I/O,事件驱动 2,V8引擎作为javascript引擎 3,高效的libev事件驱动库 4,高效的libeio异步I/O库 CommonJS:

node.js学习一——什么是node.js

定义:node.js是运行在服务器端的运用了谷歌v8引擎的javascript运行平台 特点:1. 异步式I/O(非阻塞式I/O) 2. 事件驱动 什么是异步式I/O(非阻塞式I/O)? 要了解什么是异步式I/O(非阻塞式I/O),必须要先了解下什么是I/O,什么阻塞, 什么是同步式I/O(阻塞式I/O). I/O的定义: 线程在执行磁盘读写或者是网络通信时统称为I/O操作. 阻塞定义: 在I/O的过程中由于要耗费的时间比较长,操作系统会剥夺这个线程对CPU的控制权,让线程暂停执行.同时把资源交

系列文章--Node.js学习笔记系列

Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql) Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识 Nodejs学习笔记(七)--- Node.js + Exp

Node.js学习(1):Node.js 和Socket.IO 实现chat

使用 Node.js 和 Socket.IO 构建简单的聊天程序 在node.js根目录下创建文件夹chat,里面添加两个文件:app.js和index.html app.js var fs = require('fs') , http = require('http') , socketio = require('socket.io'); var server = http.createServer(function(req, res) { res.writeHead(200, { 'Cont