完整的代码, 可以复制引用
// 引入http模块
let http = require('http');
// 引入url模块 获取域名后面的url
let path = require('path');
let fs = require('fs');
let url = require('url');
let tools = require('./js/tools');
// 创建http服务
// request 获取客户端传过来的信息,response 给浏览器响应的信息
http.createServer((request, response) => {
// 有些地址后面会有传值 列入/index.html?12324123
// url.parse(request.url).pathname url.parse().pathname去掉request.url后面的传值
let queryUrl = url.parse(request.url).pathname === '/' ? '/index.html' : url.parse(request.url).pathname;
// extname 获取文件的后缀名(格式名)
let extname = path.extname(queryUrl);
// 设置响应头
response.writeHead(200,{'Content-Type': `${tools['contentType'][extname]};charset="utf-8"`});
// 在页面里
// var data = {
// title: '我是ejs登录页',
// list: ['q', 'w', 'e', 'r']
// };
// <%= title %>
// <% for(let i = 0; i < list.length; i++) { %>
// <p><%= list[i] %></p>
// <% } %>
if(queryUrl !== '/favicon.ico'){
let localUrl = '';
if (extname === '.html') {
if (queryUrl === '/index.html') {
localUrl = './index.html'
} else {
localUrl = './pages' + queryUrl
}
} else {
localUrl = '.' + queryUrl
}
fs.readFile(localUrl, function(err, str){
if (err) {console.log(err); return;}
response.end(str);
});
fs.readFile(localUrl, (err, data) => {
if (err) {
response.end('页面404,不存在这个页面');
console.log(err); return;
}
response.end(data.toString());
});
}
}).listen(3000);
console.log('httpServer http://127.0.0.1:3000');