什么是Node.js
与浏览器js有什么区别:没有DOM BOM;都符合ECMAScript
node.js没有DOM和BOM
模块化编程 require
核心模块
eg:http fs path os
eg:os 获取当前操作系统 机器信息
require
在Node中没有全局作用域,只有模块作用域,外不能调用内,内不能调用外。
相对路径:①./不能省略
②. 后缀名可以忽略 及 b.js =》 b(√,推荐)
要向外暴露才可以访问:exports module.export
导出接口
exports 一个对象
文件读取
http请求
/* http服务 */
var http = require('http') //引入http模块
//创建web服务器,返回一个实例
var server = http.createServer(function (request, response) {
// 回调函数接收request和response对象,
// 获得HTTP请求的method和url:
console.log(request.method + ': ' + request.url);
// 将HTTP响应200写入response, 同时设置Content-Type: text/html:
response.writeHead(200, {'Content-Type': 'text/html'});
// 将HTTP响应的HTML内容写入response:
response.end('<h1>Hello world!</h1>');
});
server.on('request',()=>{
console.log("coming");
})
//监听端口号
server.listen(8080,()=>{
);
console.log('Server is running at http://127.0.0.1:8080/');
-
1.request.url:
根据不同路径返回不同数据:
-
response.write() 与 end()
write可以用来给客户端发送响应数据,
write可以使用多次,但是最后一定要使用end来结束响应,否则客户端会一直等待
简写:
end() 要返回字符串或buffer
ip和端口
http模块封装了 客户端的地址,可以通过下面来查对方的地址
http 头
- 设置response头:
1.Content-Type:告知发送的数据内容的类型(建议都要设置)
没有设置Content-Type,浏览器就会自动去解析成html,并展现出来,但是如果有中文, 会乱码
扫描二维码关注公众号,回复:
5908928 查看本文章
2.
发送文件数据
- html文件
- 图片