- 一、NodeJS 介绍
- 二、HTTP 模块、URL 模块 supervisor 工具
- 三、CommonJs 和 Nodejs 模块
- 四、NPM 第三方模块和 package
- 五、fs 模块
- 六、创建一个 WEB 服务器
- 七、Nodejs 的非阻塞 I/O、异步、事件驱动
- 八、静态文件托管 GET POST 路由 EJS 模板引擎
- 九、MongoDb 数据库介绍、安装、使用
- 十、MongoDB 数据库创建删除、表(集合)创建删除、数据增删改查
- 十一、MongoDB 索引 explain 分析查询速度
- 十二、nodejs 操作 mongodb3.x 数据库的方法
- 十三、NodeJs 操作 MongoDb 数据库 数据的增加 修改 删除
- 十四、Express 安装和使用
- 十五、express 中间件 cookie 的基本使用
- 十六、express 中间件 express-session 常见参数配置使用
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
二、HTTP 模块、URL 模块 supervisor 工具
用
Node.js
时,我们不仅仅在实现一个应用,同时还实现了整个HTTP
服务器
2.1 创建一个简单的程序
var http = require('http'); http.createServer(function(request, response) { // 发送 HTTP 头部 // HTTP 状态值: 200 : OK //设置 HTTP 头部,状态码是 200,文件类型是 html,字符集是 utf8 response.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"}); // 发送响应数据 "Hello World" res.end("哈哈哈哈,我买了一个 iPhone" + (1 + 2 + 3) + "s"); }).listen(8888); // 终端打印如下信息 console.log('Server running at http://127.0.0.1:8888/');
你会发现,我们本地写一个
js
,打死都不能直接拖入浏览器运行,但是有了node
,我 们任何一个js
文件,都可以通过node
来运行。也就是说,node
就是一个js
的执行环境
2.2 HTTP 模块、URL 模块
Node.js
中,将很多的功能,划分为了一个个module
(模块)。Node.js
中的很多功能都 是通过模块实现
2.2.1、HTTP 模块的使用
//引用模块 var http = require("http"); //创建一个服务器,回调函数表示接收到请求之后做的事情 var server = http.createServer(function(req, res) { //req 参数表示请求,res 表示响应 console.log("服务器接收到了请求" + req.url); res.end(); // End 方法使 Web 服务器停止处理脚本并返回当前结果 }); //监听端口 server.listen(3000, "127.0.0.1");
设置一个响应头
res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});
- 我们现在来看一下
req
里面能够使用的东西 - 最关键的就是
req.url
属性,表示用户的请求URL
地址。所有的路由设计,都是通过req.url
来实现的。 - 我们比较关心的不是拿到
URL
,而是识别这个URL
- 识别
URL
,用到了下面的URL
模块
2.2.2、URL 模块的使用
url.parse()
解析URL
url.format(urlObject)
是上面url.parse()
操作的逆向操作url.resolve(from, to)
添加或者替换地址
1. url.parse()
2. url.format()
3. url.resolve()
2.3 Nodejs 自启动工具 supervisor
supervisor
会不停的 watch
你应用下面的所有文件,发现有文件被修改,就重新载入程序文件这样就实现了部署,修改了程序文件后马上就能看到变更后的结果。麻麻再也不用担心我的重启 nodejs
了
首先安装 supervisor
npm install -g supervisor
使用 supervisor 代替 node 命令启动应用
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论