node.js
node.js
dancheng_work
在时间允许的情况下,源码是最好的开发文档。
展开
-
node.js中连接mongodb数据库
var express = require("express");var app = express();var MongoClient = require("mongodb").MongoClient;app.get("/",function (req, res) { //url就是数据库的地址,/表示数据库。如果没有数据库,程序会自动创建一个数据库 var url =原创 2017-09-14 14:41:52 · 341 阅读 · 0 评论 -
node.js_中间件
如果我的的get、post回调函数中,没有next参数,那么就匹配上第一个路由,就不会往下匹配了。如果想往下匹配的话,那么需要写next()app.get("/",function(req,res,next){ console.log("1"); next();});app.get("/",function(req,res){ console.log("2")原创 2017-09-07 22:45:18 · 823 阅读 · 0 评论 -
express中app.use()使用方法
与get、post不同的是,他的网址不是精确匹配的。而是能够有文件夹拓展的。比如:http://localhost:3000/admin/uservar express = require("express");var app = express();app.use("/admin", function (req, res) { console.log(req.origina原创 2017-09-07 22:47:34 · 7416 阅读 · 1 评论 -
node.js的常用工具及其作用
npm:NodeJs包管理器express:服务器比较流行的MVC框架,处理服务请求,路由转发,逻辑处理mongoose:mongodb包装,更方便使用数据库socket.io:实现服务端和客户端socket通信解决方案backbone:客户端MVC框架,编写客户端应用(豆瓣说)coffeescript:提高JavaScript的可读性,健壮性zombie:浏览器子集,编写原创 2017-09-17 22:53:50 · 334 阅读 · 0 评论 -
node.js使用mongodb进行删除操作和修改操作
删除数据//这个模块里封装了所有对数据库的常用操作,不管数据库的什么操作,都需要连接数据库var MongoClient = require("mongodb").MongoClient;function _connectDB(callback) { var url = "mongodb://127.0.0.1:27017/haha"; //链接数据库 MongoC原创 2017-09-17 22:55:56 · 3062 阅读 · 0 评论 -
node.js的cookie和session模块
express中res负责设置cookie,req负责识别cookiecookievar express = require("express");var cookieParser = require("cookie-parser");var app = express();app.use(cookieParser());app.get("/", function (req,原创 2017-09-17 22:57:50 · 597 阅读 · 0 评论 -
node.js中的加密模块
crypto:首先创建hash:var md5 = crypto.createHash(“md5”);var password = md5.update(fields.password).digest(‘base64’);然后update和digestvar crypto = require("crypto");var md5 = crypto.createHash('md原创 2017-09-17 22:59:36 · 621 阅读 · 0 评论 -
node.js写一个简单的helloWorld程序
//require引包var http = require("http");//创建服务器,参数是一个回调函数,表示如果有请求进来,要做什么var server = http.createServer(function(req, res){ //req表示请求,request; res表示响应,response //设置HTTP头部,状态码200,文件类型是html,字符集是utf-8原创 2017-09-01 23:03:58 · 790 阅读 · 0 评论 -
Node.js是如何解决服务器高性能瓶颈问题的
1.单线程在Java、PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程。而每个线程需要耗费大约2MB内存。也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右。要让Web应用程序支持更多的用户,就需要增加服务器的数量,而Web应用程序的硬件成本当然就上升了。Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程。当有用户连接了原创 2017-09-02 19:23:45 · 4859 阅读 · 0 评论 -
nodejs的路由机制
//require引包var http = require("http");var fs = require("fs");//创建服务器,参数是一个回调函数,表示如果有请求进来,要做什么var server = http.createServer(function(req, res){ if(req.url == "/fang"){ fs.readFile("./01.html",f原创 2017-09-02 19:25:02 · 1493 阅读 · 0 评论 -
nodejs的HTTP模块
Node.js中,将很多的功能,划分为了一个个mudule,大陆的书翻译为模块;台湾的书,翻译为模组。这是因为,有一些程序需要使用fs功能(文件读取功能),有一些不用的,所以为了效率,就用require。//这个案例为http模块var http = require("http");//创建一个服务器,回调函数表示接受到请求之后做的事情var server = http.crea原创 2017-09-02 19:28:21 · 308 阅读 · 0 评论 -
nodejs中req里使用的东西
关键的事:req.url属性,表示用户的请求url 识别url:用到两个模块,第一个是url模块,第二个是querystring模块 url.parse的使用:url.parse()可以将一个完整的URL地址,分为很多部分。如果第二个参数是true,那么就可以将所有的查询变为对象,就可以直接打点得到这个数。var http = require("http");var ur原创 2017-09-02 19:32:36 · 2372 阅读 · 0 评论 -
nodejs模拟表单提交
男 女 js文件:var http = require("http");var url = require('url');var server = http.createServer(function(req, res){ var queryObj = url.parse(req.url, true).query; var name = queryObj.name原创 2017-09-02 19:34:27 · 1212 阅读 · 0 评论 -
nodejs的路由控制制作
要求:当用户访问/student/1234567890 的查询此学号的学生信息。当用户访问/teacher/645433 的时候,查询此老师的信息。其他的,我们提示错误。如果位数不对,也是提示位数不对。var http = require("http");var server = http.createServer(function(req,res){ //得到url var原创 2017-09-02 19:35:29 · 242 阅读 · 0 评论 -
node.js中render和send
大多数情况下,渲染内容用res.render(),将会根据views中的模板文件进行渲染。如果不想使用views文件夹,想自己设置文件夹名字,那么app.set("views","aaaa");如果想写一个快速测试页,当然可以使用res.send()。这个函数将根据内容,自动帮我们设置了Content-Type头部和200状态码。send()只能用一次,和end一样。和end不一样在哪里?能够原创 2017-09-11 22:11:30 · 13029 阅读 · 0 评论 -
express中路由设计
当用get请求访问一个网址的时候,做什么事情:app.get(“网址”, function(req, res){});当用post请求一个网址的时候,做什么事情:app.post(“网址”, function(req, res){});如果想处理这个网址的任何method的请求,那么写all地址中的字符不区分大小写所有的参数中?都已经被忽略 1、路由判断原创 2017-09-07 22:42:45 · 378 阅读 · 0 评论 -
express静态文件服务
var express = require("express");var app = express();app.use(express.static("./public"));app.listen(3000);这样public就是可以访问的静态文件了例:打开的页面 Title 哈哈哈原创 2017-09-07 22:39:26 · 694 阅读 · 0 评论 -
node.js-mongodb插入数据
var express = require("express");var app = express();var MongoClient = require("mongodb").MongoClient;app.get("/",function (req, res) { //url就是数据库的地址,/表示数据库。如果没有数据库,程序会自动创建一个数据库 var url =原创 2017-09-14 14:44:26 · 2747 阅读 · 0 评论 -
node.js-mongodb封装分页查找
limit表示读取条数skip表示越过的条数 db.集合名.stats().count 查询集合中所有条数 db.js//这个模块里封装了所有对数据库的常用操作,不管数据库的什么操作,都需要连接数据库var MongoClient = require("mongodb").MongoClient;function _connectDB(callback) {原创 2017-09-14 14:51:28 · 1471 阅读 · 0 评论 -
nodejs探求事件环机制
var http = require("http");var fs = require("fs");var server = http.createServer(function(req,res){ var userid = parseInt(Math.random() * 89999) + 10000; console.log("欢迎" + userid); res.writeHead原创 2017-09-06 21:23:43 · 469 阅读 · 0 评论 -
nodejs 把异步变为同步方法
var http = require("http");var fs = require("fs");var server = http.createServer(function(req,res){ if(req.url == "/favicon.ico"){ return; } //遍历所有文件夹 fs.readdir("./album/", function(err, file原创 2017-09-06 21:26:00 · 3561 阅读 · 0 评论 -
nodejs静态资源文件管理
var http = require("http");var fs = require("fs");var url = require("url");var path = require("path");http.createServer(function(req,res){ //得到用户路径 var pathname = url.parse(req.url).pathname; i原创 2017-09-06 21:27:14 · 1588 阅读 · 0 评论 -
nodejs顶层路由设计
var http = require("http");var fs = require("fs");var url = require("url");var path = require("path");//创建服务器http.createServer(function (req, res) { //得到地址 var pathname = url.parse(req.u原创 2017-09-06 21:29:21 · 992 阅读 · 0 评论 -
node.js普通变量暴露方法
var msg = "你好";//对外暴露的变量,只有暴露了才能访问到exports.msg = msg;msg这个变量,是一个js文件内部才有作用域的变量。如果别人想用这个变量,那么就要用exports进行暴露。 使用者:var foo = require("./test/foo.js");console.log(foo.msg);使用者用foo来接收expor原创 2017-09-06 21:31:34 · 4064 阅读 · 0 评论 -
node.js类暴露方法
类文件function People(name, sex, age){ this.name = name; this.sex = sex; this.age = age;}People.prototype = { sayHello : function(){ console.log(this.name + this.sex + this.a原创 2017-09-06 21:33:06 · 4826 阅读 · 0 评论 -
node.js的node_modules文件和文件夹中设置入口文件
如果在require命令中,这么写://没有写./, 所以不是一个相对路径。是一个特殊的路径var foo = require("foo.js"); 那么Node.js将该文件视为node_modules目录下的一个文件node.js设置入口文件方法:在文件夹中新建一个package.json文件{ "name": "bar", "version": "0.原创 2017-09-06 21:36:07 · 6225 阅读 · 0 评论 -
node.js中npm使用
https://www.npmjs.com/到社区搜索,看api,如果要配置一个模板,那么直接在cmd使用npm install 模块名字就可以安装,这个模块名字唯一npm init //为当前文件夹生成一个package.jsonnpm install //检索当前文件夹,下载所有依赖原创 2017-09-06 21:37:54 · 315 阅读 · 0 评论 -
node.js原始路径配置
__dirname 获取绝对路径利用fs库,最好用这个函数 分模块路由主文件:var http = require("http");var router = require("./router.js");//创建服务器http.createServer(function (req, res) { if(req.url == "/"){ ro原创 2017-09-07 22:31:15 · 273 阅读 · 0 评论 -
node.js中post如何被提交
表单代码: Title 姓名: 性别:男女 接收代码:var http = require("http");var querystring = require("querystring");//创建服务器http.createServer(function (req, res) {原创 2017-09-07 22:32:30 · 273 阅读 · 0 评论 -
node.js中上传文件
下载第三方插件:在www.npmjs.com中下载formidable模块表单代码: Title 姓名: 性别:男女 图片: 加载第三方代码接收文件数据:var http = require("http");var formidable = require('原创 2017-09-07 22:33:53 · 304 阅读 · 0 评论 -
node.js中ejs模板的使用方式
Embedded JavaScript templates后台模板引擎var ejs = require("ejs");//模板var string = "哈哈哈哈哈第个";//数据var data = { a : 6};//数据绑定var html = ejs.render(string, data);//输出模板数据console.log(html);原创 2017-09-07 22:36:29 · 951 阅读 · 0 评论 -
express简单路由能力
var express = require("express");var app = express();app.get("/",function (req, res) { res.send("你好");});app.get("/haha",function (req, res) { res.send("哈哈");});app.get(/^\/student\/([\d原创 2017-09-07 22:37:43 · 257 阅读 · 0 评论 -
node.js中get和post请求
get请求var express = require("express");var app = express();app.get("/", function (req, res) { console.log(req.query); res.send();});app.listen(3000);效果图:请求:http://127.0.0.1:3000/原创 2017-09-11 22:16:29 · 322 阅读 · 0 评论