server.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. var http = require("http");
  2. var url = require("url");
  3. var getData = require("./getData");
  4. var command = require("./command");
  5. /**
  6. * 参数
  7. * @type {Command}
  8. */
  9. var commandParams = command
  10. .version('0.0.1')
  11. .option('-p, --port <number>', 'change server port', 3000)//本地调试需改成24002
  12. .parse(process.argv.slice(2));
  13. var port = commandParams.port;
  14. console.log('Server starting...');
  15. function onRequest(request, response) {
  16. // 默认情况下,如果url路径中有中文,则会对中文进行URI编码,所以服务端要想获取中文需要对url进行URI解码
  17. // console.log(encodeURI(request.url));
  18. // 将第二个可选参数指定为 true, 表示将结果中的 query 解析为一个对象
  19. // url.parse 方法可以将一个 URL 路径解析为一个方便操作的对象
  20. var parseObj = url.parse(request.url, true);
  21. // 这里将解析属性挂载给 request 对象
  22. request.pathname = parseObj.pathname;
  23. request.query = parseObj.query;
  24. response.setHeader("Access-Control-Allow-Origin", "*"); // 设置可访问的源
  25. response.setHeader("Access-Control-Allow-Headers", "x-requested-with,Authorization,Content-Type"); // 设置允许的响应头
  26. response.writeHead(200, {
  27. "Content-Type": "application/json;charset=UTF-8"
  28. });
  29. getData(request, response);
  30. }
  31. http.createServer(onRequest).listen(port);
  32. console.log('Server started on port ' + port);