server.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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,Access-Control-Allow-Origin"); // 设置允许的响应头
  26. getData(request, response);
  27. }
  28. http.createServer(onRequest).listen(port);
  29. console.log('Server started on port ' + port);