node-webserver

port 端口 * controller controller配置 * filter filter配置 * serverRoot server根路径 * webRoot webroot根路径 * viewPath view根路径 * viewEngine 模板引擎 * uploadPath 文件上传路径 * session * key session key * redisStore * host redis host * port redis port

Usage no npm install needed!

<script type="module">
  import nodeWebserver from 'https://cdn.skypack.dev/node-webserver';
</script>

README

node-webserver

Usage

Arguments

  • port 端口
  • controller controller配置
  • filter filter配置
  • serverRoot server根路径
  • webRoot webroot根路径
  • viewPath view根路径
  • viewEngine 模板引擎
  • uploadPath 文件上传路径
  • session
    • key session key
    • redisStore
      • host redis host
      • port redis port

Method

start服务启动 stop服务停止

Event

error异常日志

filter和controller配置说明

filter 配置

{
  "rootPath": "/filter", //filter根路径
  "filters": [{
    "path": "/", //匹配路径,支持正则
    "handler": "indexFilter.index1" //filter名+.+method名
  },{
    "regPath": "/.*",
    "handler": "indexFilter.index2"
  },{
    "path": "/demo",
    "handler": "loginFilter.demo"
  }]
}

controller 配置

{
  "rootPath": "/controller", //controller根路径
  "controllers": [{
    "path": "/", //匹配路径,支持正则
    "handler": "indexController.index" //controller名+.+method名
  }, {
    "path": "/demo",
    "handler": "indexController.demo"
  }, {
    "regPath": "/api/(.*)/(.*)",
        "method": "all",
    "handler": "$1Controller.$2"
  }]
}

Example

var server = new WebServer({
  port:5000,
  controller:require('./conf/controller.json'),
  filter:require('./conf/filter.json'),
  serverRoot:__dirname,
  webRoot:path.join(__dirname,'../webapp'),
  uploadPath:'./uploads',
  viewPath:'./views',
  viewEngine:'ejs',
  session:{
    key:'SESSION_DEMO',
    redisStore:{
        host: process.appConfig.redis.host,
        port: process.appConfig.redis.port
    }	
  }
});
server.on('error',function(err){
    console.log('Error:%j'+err);
});
server.start();