/**
* 代理服务器 natapp -authtoken f1bdaa0535788971
* 热部署指令 supervisor index
*/
const Koa = require('koa')
const koaStatic = require('koa-static')
const bodyParser = require('koa-bodyparser')
const autoRouter = require('./util/koa-automate-router')
const log4jsUtil = require('./util/log4js-util')
/**
* 实例化 KOA 服务器,载入三方中间件到服务器实例
* POST 参数解析功能 ctx.request.body.key 获取
*/
const app = new Koa();
app.use(bodyParser());
app.listen(80, function () { console.log("服务器启动成功") });
/**
* 将项目根路径载入到 KOA 实例中,方便其它目录下访问跟路径 ctx.rootPath = __dirname
* 允许跨域访问 ctx.res.setHeader('Access-Control-Allow-Origin', '*')
* 客户端访问IP ctx.req.headers['x-forwarded-for'] || ctx.req.connection.remoteAddress
*/
const notesLog = log4jsUtil.notesLog;
const errorLog = log4jsUtil.errorLog;
app.use(async (ctx, next) => {
try {
ctx.rootPath = __dirname;
ctx.res.setHeader('Access-Control-Allow-Origin', '*');
let clientIp = ctx.req.headers['x-forwarded-for'] || ctx.req.connection.remoteAddress;
let notes = '[' + clientIp + ']'
notes += ' [' + ctx.request.method + ']';
notes += ' [' + ctx.request.url.split("?")[0] + ']';
notesLog.info(notes);
await next();
} catch (err) {
errorLog.error(err.stack);
ctx.body = { code: 0, info: err.stack };
}
});
/**
* 配置自动化路由和静态资源目录,支持绝对和相对路径,推荐使用 __dirname 拼接
* 目录可以是多个,如果出现相同的,先配置的优先级高
*/
autoRouter(__dirname + "/router", app);
app.use(koaStatic("E:/project/GitH5"));
 

node 搭建本地服务器的更多相关文章

  1. node搭建本地服务器

    随着前端不断发展,node基本已经成为必备,在调试的时候经常需要服务器,在之前的做法通常是去下载一个phpstudy 或者 xampp等启动一个服务,作为一个前端人虽然可以借助各种工具,但是怎么能不懂 ...

  2. 利用node搭建本地服务器调试代码

    在命令符中输入 npm install -g live-server安装live-server 安装完成后在项目文件夹下打开cmd,输入live-server启动

  3. 用node.js搭建本地服务器

    我的第一篇笔记来写写node.js,我对node.js的并不是很了解,基本的项目路径变换还是会的.原先我下载node.js就是我想学vue.js,后来因为工作的繁忙搁浅了我的计划.最近在学习phase ...

  4. json server的简单使用(附:使用nodejs快速搭建本地服务器)

    作为前端开发人员,经常需要模拟后台数据,我们称之为mock.通常的方式为自己搭建一个服务器,返回我们想要的数据.json server 作为工具,因为它足够简单,写少量数据,即可使用. 安装 首先需要 ...

  5. webpack 之搭建本地服务器

    搭建本地服务器 webpack提供了一个可选的本地开发服务器,这个本地服务器基于node.js搭建,内部使用express框架,可以实现 我们想要的让浏览器自动刷新显示我们修改后的结果 不过它是一个单 ...

  6. iOS开发网络篇—搭建本地服务器

    iOS开发网络篇—搭建本地服务器 一.简单说明 说明:提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提示:提前准备好的软件 apache- ...

  7. IIS搭建本地服务器,花生壳实现外网通过域名访问网站

    配置服务器 作为一个青年,没有实力,做不出标图所示的服务器. 作为一个学生,买不起服务器 作为一个小孩,买不起域名 但别忘了 作为一个平民玩家,只要有耐心 装备迟早会做出来的 (注:感觉有钱与没钱还是 ...

  8. MacOS搭建本地服务器

    MacOS搭建本地服务器 一,需求分析 1.1,开发app(ios android)时通常需往app中切入web页面,直接导入不行,故需搭建本地的测试网站服务,通过IP嵌入访问页面. 1.2,开发小程 ...

  9. IDEA搭建本地服务器解决无法连接https://start.spring.io

    通过IntellJ IDEA创建Spring Boot项目时,发生以下的问题.如图: 报错: 也许你搜到的都是诸如此类的回答: 在学习springboot的时候,使用IDEA的快速新建springbo ...

随机推荐

  1. Code(poj 17801)

    求出一个长度为10^n+n-1的序列,其中包含了所有的n位数(一共10^n个数,从00000(n个0)~10^n-1) /* 典型的欧拉回路题目 对于n=4为密码想要序列最短 那么 1234 234? ...

  2. [USACO06JAN]牛的舞会The Cow Prom Tarjan

    题目描述 The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in their ...

  3. Javaweb中文乱码问题

    request.setCharacterEncoding("utf-8");必须写在获得参数之前,即request.getParameter();之前

  4. 学一学书里的django是怎么写views.py的

    他山之石,可以攻玉嘛. 好的习惯有时也是学别人来养成的. 外国人的编码习惯,学啊. from django.core.urlresolvers import reverse_lazy from dja ...

  5. MYSQL常用的字符串函数

    #字符串函数 #返回字符串的字符数量,对于此例而言,结果为5SELECT CHAR_LENGTH('计算机编程'); #合并字符串,对于此例而言,结果为‘我喜欢计算机’SELECT CONCAT('我 ...

  6. MVC和MVVM的区别

    现在是市面上使用MVVM模型越来越多,相关的前端框架的选择也相应增多. 那么什么是MVVM模型,它和传统MVC模型有什么区别,接下来我们来总结探讨一下. MVVM即Model-View-ViewMod ...

  7. Spring——ClassPathXmlApplicationContext(配置文件路径解析 1)

    ClassPathXmlApplicationContext     在我的 BeanFactory 容器文章中主要提及了 BeanFactory 容器初始化(Spring 配置文件加载(还没解析)) ...

  8. Eclipse错误出现:Unable to install breakpoint in... (未能解决)

    Unable to install breakpoint in... Eclipse Unable to install breakpoint in  的问题还是没解决 1.重装eclipse无效 2 ...

  9. Oracle GV$VIEW

    The catclustdb.sql script creates the GV$ views. Run this script if you do not create your database ...

  10. 智能家居APP开发

    智能家居APP开发 APP开发技术qq交流群:347072638 前言,随着智能硬件设备的流行,智能家居開始红火,智能家居就是家用电器的智能化.包含智能锁,灯,空调,灯,音箱等等,移动设备通过WIFI ...