当前位置: 首页 > 后端技术 > Node.js

nodecreateserver

时间:2023-04-04 01:39:08 Node.js

header不好意思,我是前端。有同学说我是前端。是的,我以前写过页面。之所以要重新学习Node,一方面是工作需要,有时(纯)后端不配合优化性能问题;另一方面,后端的知识可以促进前端的发展(大家都说),当然页面重构技术除外。最近又看了《node深入浅出》,希望朴丹能写出别的书或者再版。节点书主要有节点基础、connect&&middlewar、Express、在线部署等。《node实战》也是排版。在谈一些概念的时候,也可以给出一个大概的概念。以下内容主要以demo为主。请注意:下面的内容包说不包含contentSimpleserverNode提供的比较底层的架构,可以很方便的实现一个服务器。如:varhttp=require('http');varserver=http.createServer(function(req,res){varurl='http://baidu.com';varbody='点击百度';//https://baike.baidu.com/item/ContentType/1938445?fr=aladdinres.setHeader('content-type','text/html;charset=utf-8');//http://nodejs.cn/api/buffer.html#buffer_class_method_buffer_bytelength_string_encodingres.setHeader('content-length',Buffer.byteLength(body,'utf-8'));res.end(body);})//nodemon到watchserver.listen(3000);content-type指定返回的内容类型,content-length指定返回的字节长度,可以提高传输效率。也可以把text/html改成text/plain,也可以把Buffer.byteLength(body,'utf-8')改成body.length看看效果,想想为什么不对。书中有提到。Connect引入了中间件的概念,封装了一些常用的中间件,方便大家更方便的搭建服务。varhttp=require('http');varconnect=require('connect'),morgan=require('morgan');varapp=connect();//loggerapp.use(morgan(':method:url:status:res[content-length]-:response-timems'));//响应所有请求app.use(function(req,res){res.end('HellofromConnect!\n');});//创建node.jshttp服务器并监听端口http.createServer(app).listen(3000);morgan是用来记录日志的,代码看起来很清爽。快递varexpress=require('快递');varapp=express(),user=express();user.get('/show/:id',function(req,res){res.end('获取用户详细信息');})user.get('/list',function(req,res){res.end('获取用户列表');})app.use('/user',user);app.listen(3000);和varexpress=require('express');varapp=express(),user=express();user.get('/user',function(req,res){res.end('userpage');})//这里直接写路由应该不常见app.get('/home',function(req,res){res.end('homepage');})app.use(user);app.listen(3000);footer以上内容介绍了如何搭建服务器,使用中间件开发功能。下一章待续....node实战connectmorgan深入讲解参考http://nodejs.cn/api/node