回调函数! 前面加载的模块都是回调函数。 下面的就是一个 能够经过localhost访问到 本身电脑里面的文件 的服务器 基本模型(我以为是)css
<!--基本结构 -->
var http = require('http');
<!--req用户请求 res服务器响应-->
http.createServer(function(res,req){}).listen('端口号',function(){成功启动服务器后想要执行的操做 通常是写 console.log('http://localhost:9797');
打印一下 服务器的地址})
那个端口号有范围的
kenqiuer+c 就是中止服务器
访问流程本身理解的就是 用户输入地址 =>一个什么东西接收到 而后找到对应的服务器 => 服务器根据地址 找静态文件 须要数据就去数据库里面找 须要其余的都是根据地址来找(好像叫作路由)
复制代码
path 模块 拼接路径用的
fs 模块 对文件进行操做 创建文件夹啊 读取文件啊 之类的
mime 是获取静态的文件 好比说 html的 css js 图片 它能够根据服务器的请求地址 来找你文件夹里面的文件 such as
/css/index.css 他就直接去找了
如今都要用if语句来判断用户请求的路径来是服务器响应相应的东西 可是我感受之后应该还有更简便的方法 拭目以待咯
复制代码
这个就是给res的对象添加了一个属性 这个属性就是能够经过用户访问的 地址来访问 你本身创建的文件夹下面的文件
render 本身起的名字 这是一个闭包函数(我也不知道啥是闭包)可是这样不用给function传res参数。
res.render = function (filename) {
fs.readFile(filename, function (err, data) {
if (err) {
res.setHeader(404, 'Not Found', {
'Content-Type': 'text/html;charset=utf-8 '
});
res.end('404,not found')
}
res.setHeader('Content-Type', mime.getType(filename));
res.end(data)
});
}
复制代码
var http = require('http');
var fs = require('fs');
var path = require('path');
var mime=require('mime')
http.createServer(function (req, res) {
req.url = req.url.toLowerCase();
req.method = req.method.toLowerCase();
res.render = function (filename) {
fs.readFile(filename, function (err, data) {
if (err) {
res.setHeader(404, 'Not Found', {
'Content-Type': 'text/html;charset=utf-8 '
});
res.end('404,not found')
}
res.setHeader('Content-Type', mime.getType(filename));
res.end(data)
});
}
if (req.url === '/n') {
res.render(path.join(__dirname,'index.html'))
}
else if (req.url === '/index' || req.url === '/' && req.method === 'get') {
res.render(path.join(__dirname, 'yxlmm', 'index.html'))
}
else if (req.url === '/n' || req.url === '/' && req.method === 'get') {
res.render(path.join(__dirname,'index.html'))
}
else if (req.url.startsWith === '/add' && req.method === 'get') {
console.log(req.url);
res.end(00)
}
else if ((req.url.startsWith('/video') || req.url.startsWith('/css') || req.url.startsWith('/image') || req.url.startsWith('/js') || req.url.startsWith('/jquary')) && req.method === 'get') {
res.render(path.join(__dirname,'yxlmm', req.url))
}
else {
res.writeHead(404, 'NOT Found', { 'Cont-TYpe': 'text/html;charset=utf-8' });
res.end('404,Page Not Found.')
}
}).listen(9797, function () {
console.log('http://localhost:9797');
})
复制代码