一 http模块
1.1 什么是http模块
1.2 进一步理解http模块的作用
1.3 服务器的相关的概念
1 IP地址
2 域名和域名服务器
3 端口号
1.4创建web服务器的基本步骤
步骤1 导入http模块
const http =require('http')
步骤2 创建web服务器实例
const server = http.createServer()
步骤3 为服务器实例绑定request事件
//使用服务器实例的.on()方法,为服务器绑定一个request事件
server.on('request',(req,res)=>{
//只要有客户端来请求我们自己的服务器,就会触发request事件,从而调用这个事件处理函数
console.log('Someone visit our web server.')
})
步骤四 启动服务器
// 导入基本的http模块
const http = require("http");
// 创建web服务器的实例
const server = http.createServer();
// 为服务器实例绑定request事件 监听客户端发来的请求
server.on("request", function (req, res) {
console.log("someone visit our web server");
});
// 启动服务器
server.listen(function () {
console.log("server running at http://127.0.0.1:8000");
});
一 req请求对象
const http = require("http");
const server = http.createServer();
server.on("request", (req, res) => {
console.log("客户端发送请求执行此函数");
// req是request的缩写 表示请求
// req.url打印的是端口后面的地址
// req.method打印的是请求方式
console.log(req.url);
console.log(req.method);
res.end('wxk')//服务器的响应数据
});
server.listen(888, () => {
console.log("服务启动成功会调用此函数 running ok");
});
二 服务器端和客户端之间的交互流程
三 解决中文乱码的问题
二 模块化
2.1 什么是模块化
2.2 模块化规范
2.3 Node.js中的模块分类
1 使用require方法加载模块
使用强大的 require()
方法,可以加载需要的内置模块、用户自定义模块、第三方模块进行使用。例如:
// 1. 加载内置的 fs 模块
const fs = require('fs')
// 2. 加载用户的自定义模块
const custom = require('./custom.js')
// 3. 加载第三方模块,(使用第三方模块,下面会进行讲解)
const moment = require('moment')
注意事项 1: 使用 require() 方法加载其他模块时,会执行被加载模块中的代码
// 加载模块.js
require('./被加载的模块.js')
// 被加载模块.js
console.log('我会被打印')
注意事项2: 在使用 require
加载用户自定义模块期间,可以省略 .js
后缀名
// 加载模块.js
require('./被加载的模块')
2 了解模块作用域的概念以及好处
// 被加载的模块.js
const username = '张三'
function sayHello () {
console.log('说话')
}
// 加载模块.js
const custom = require('./被加载的模块')
模块作用域的好处
三 模块对象
1 module对象
exports
console.log(exports)
console.log(module.exports)
// 默认情况下,`exports` 和 `module.exports` 指向同一个对象
console.log(exports === module.exports) // true
exports
和 module.exports
的使用误区
exports.username = 'Tom'
module.exports = {
gender: '男',
age: 22
}
module.exports.username = 'Tom'
exports = {
gender: '男',
age: 22
}
module.exports.username = 'Tom'
exports.gender = '男'
exports = {
gender: '男',
age: 22
}
module.exports = exports
module.exports.username = 'Tom'
CommonJS
模块化规范
四 包
4.1 什么是包
4.2 包的来源
4.3 为什么需要包
4.4 如何下载包