Skip to content

06 搭建基础 Web 服务器

server.js — 创建 HTTP 服务器

javascript
'use strict';
// 引入 http 模块
var http = require('http');
// 引入封装的处理器
var handlers = require('./handlers');

// 创建服务
var server = http.createServer(function(request, response) {
  // 获取请求 URL
  var url = request.url;

  if (url === '/') {
    handlers.homepage(request, response);
  } else if (url === '/profile') {
    handlers.profile(request, response);
  } else {
    handlers.notFound(request, response);
  }
});

// 监听 3000 端口
server.listen(3000);
console.log('server started at port 3000');

handlers.js — 请求处理器

javascript
'use strict';

// 首页
exports.homepage = function(request, response) {
  response.setHeader('Content-Type', 'text/html');
  response.end('<h1>Hello World</h1>');
}

// JSON 接口
exports.profile = function(request, response) {
  var profile = {
    name: 'Will',
    age: 35
  }
  response.setHeader('Content-Type', 'application/json');
  response.end(JSON.stringify(profile));
}

// 404
exports.notFound = function(request, response) {
  response.statusCode = 404;
  response.setHeader('Content-Type', 'text/html');
  response.end('<h1>404 Not Found!</h1>');
}

运行 node server.js,访问 http://localhost:3000 即可看到效果。