第二十一天
1-nodejs 中有哪些常用的内置模块
path模块,until模块,fs模块,http模块,events模块
2-常用的第三方模块
nodemon,nrm,Gulp,gulp-htmlmin,gulp-file-include,gulp-csso,gulp-less,gulp-uglify,gulp-babel
3-如何创建一个服务器
//1-加载系统模板,创建http服务
const http = require('http')
//加载系统模块url,用来处理url地址
const url = require('url')
//2-创建web服务器
const app = http.createServer()
//3-监听请求
app.on('request', (req, res) => {
// res.write('helloWorld')
// res.end('ok')
//获取请求方式
// console.log(req)
// console.log(req.method)
// if (req.method == "POST") {
// res.end('post')
// } else if (req.method == "GET") {
// res.end('get')
// }
//相应报文
res.writeHead(200, {
// //纯文本信息
// // 'content-type':'text/plain'
// //html文本
// // 'content-type':'text/html'
// //字符编码
'content-type': 'text/html;charset=utf8'
})
// // res.end('你号')
// res.end('<h1>这是一个标题</h1>')
//根据不同请求,返回不同数据
// console.log(req.url)
if (req.url == '/index' || req.url == '/') {
res.end('<h1>欢迎进入首页</h1>')
} else if (req.url == '/category') {
res.end('<h1>欢迎进入分类页</h1>')
} else if (req.url == '/detail') {
res.end('<h1>欢迎进入详情页</h1>')
} else {
res.end('<h1>页面找不到</h1>')
}
})
//4-监听端口
app.listen(3000, () => {
console.log("服务器运行在3000端口")
})
4-http 搭建的服务相应给客户端的数据如果是中文,应该如何处理
处理响应报文
res.writeHead(200, {
// //纯文本信息
// // 'content-type':'text/plain'
// //html文本
// // 'content-type':'text/html'
// //字符编码
'content-type': 'text/html;charset=utf8'
})
5-第三方 router 模块和 serve-static 如何使用,作用是什么?
1-router模块:实现路由
const Router = require('router')
const router = Router();
router.get('/index', (req, res) => {
res.end('Hello World!')
})
server.on('request', (req, res) => {
router(req, res, () => {})
})
2-serve-static模块:实现静态资源的访问
const serveStatic = require('serve-static')
const serve = serveStatic('public'); // public为静态文件目录地址
server.on('request', () => {
serve(req, res)
})
浙公网安备 33010602011771号