http-server

http-server 是一个简单的零配置命令行HTTP服务器, 基于 nodeJs.
参考链接 https://www.npmjs.com/package/http-server

-p 端口号 (默认 8080)
-a IP 地址 (默认 0.0.0.0)
-d 显示目录列表 (默认 'True')
-i 显示 autoIndex (默认 'True')
-e or --ext 如果没有提供默认的文件扩展名(默认 'html')
-s or --silent 禁止日志信息输出
--cors 启用 CORS via the Access-Control-Allow-Origin header
-o 在开始服务后打开浏览器
-c 为 cache-control max-age header 设置Cache time(秒) , e.g. -c10 for 10 seconds (defaults to '3600'). 禁用 caching, 则使用 -c-1.
-U 或 --utc 使用UTC time 格式化log消息
-P or --proxy Proxies all requests which can't be resolved locally to the given url. e.g.: -P http://someurl.com
-S or --ssl 启用 https
-C or --cert ssl cert 文件路径 (default: cert.pem)
-K or --key Path to ssl key file (default: key.pem)
-r or --robots Provide a /robots.txt (whose content defaults to 'User-agent: *\nDisallow: /')
-h or --help 打印以上列表并退出

命令行
安装 npm install http-server -g
启动http-server命令就是在cmd下直接输入http-server,之后就可以浏览器访问http://localhost:8080.
默认web目录是当前目录,想改变web目录的话,在命令后面加上本地路径http-server

JS文件
通过node xxx.js运行

let http = require('http');
let url = require('url');
let fs = require('fs'); 

let server = http.createServer((req,res)=>{
  var pathname = url.parse(req.url).pathname; //获取url的pathname (/index.html)
  fs.readFile(pathname.substring(1), function (err,data) { //fs模块加载文件
      if(err){
          res.writeHead(404,{
            'Content-Type':'text/html'
          });
      }else{
        res.writeHead(200,{
          'Content-Type':'text/html'
        });
        res.write(data.toString());
      }
      res.end();
  });
});
server.listen(3000,'127.0.0.1', ()=>{
  console.log("服务器已经运行,请打开浏览,输入:http://127.0.0.1:3000/ 来进行访问.")
});

也可以简单地构造一个新的url,返回一个json对象,在前台开发中可以先调用这些数据,不用等待后台接口完成。

let http = require('http');
let url = require('url');
let fs = require('fs');

let server = http.createServer((req, res) => {
  req.url = "car.json";
  // var pathname = url.parse(req.url).pathname; //获取url的pathname (/car.json)
  fs.readFile(req.url, function (err, data) { //fs模块加载文件
    if (err) {
      res.writeHead(404, {
        'Content-Type': 'text/html'
      });
    } else {
      res.writeHead(200, {
        'Content-Type': 'application/json'
      });
      res.end(JSON.stringify(data));
    }
    res.end();
  });
});
server.listen(3000, '127.0.0.1', () => {
  console.log("服务器已经运行,请打开浏览,输入:http://127.0.0.1:3000来进行访问.")
});

或者增加不同的请求方式(get、post等等)的接口、不同响应消息体(json、xml等等)的接口、对安全有要求(如需要在http头里加sessionid等等)的接口或是接口的特殊状态(如有延迟,可以在server代码里加一个setTimeout)

你可能感兴趣的:(http-server)