zoukankan      html  css  js  c++  java
  • [nodejs] nodejs开发个人博客(二)入口文件

    错误处理中间件

    定义错误处理中间件必须使用4个参数,否则会被作为普通中间件

    /*错误处理器*/
    application.use(function(err,req,res,next){
      console.error(err.stack);
      res.status(500).send("代码出错了,错误信息:<br/>"+err.stack);
    });
    /*404*/
    application.use(function(req,res,next){
      res.status(404).send("404页面被火星人挖走了");
    });

    创建文件结构

    公共文件夹(common),控制器文件夹(controller),模型文件夹(model),视图文件夹(view),静态资源文件夹(static)

    定义配置文件和函数文件并载入

    配置文件common/config.js

    /**
    * 公共配置文件
    */
    module.exports={
        DB_HOST:'localhost',
        DB_NAME:'blog',
        DB_USER:'root',
        DB_PASS:'root',
        DB_PRE:'',
        APP_PORT:'8888'
    };

    函数文件common/functions.js

    /**
    * 公共函数文件
    */
    module.exports={
        /*模拟php的date()函数*/
        phpDate:function(formatStr,time){
            var paramModel='ymdhis';
            if(!formatStr) formatStr="y-m-d h:i:s";
            
            if(time){
                myDateTime=new Date(time*1000);
            }else{
                myDateTime=new Date();
            }
            var strTimeArr=[
                myDateTime.getFullYear().toString(),
                (myDateTime.getMonth()+1).toString(),
                myDateTime.getDate().toString(),
                myDateTime.getHours().toString(),
                myDateTime.getMinutes().toString(),
                myDateTime.getSeconds().toString(),
            ];
            for(var i=0;i<strTimeArr.length; i++){
                formatStr=formatStr.replace(paramModel.charAt(i), strTimeArr[i]);                 
            }
            return formatStr;
        }
    
    };

    载入公共文件,定义资源文件

    /*载入公共文件,定义资源文件*/
    global.C=require("./common/config");
    global.F=require("./common/functions"); 
    application.use(express.static('public'));

    路由级中间件 

    控制器分为两组home和admin

    /*路由级中间件*/
    application.use('/',require('./controller/home/index'));
    application.use('/admin',require('./controller/admin/index'));
  • 相关阅读:
    ASP.NET MVC5+ 路由特性
    老李分享:大数据,数据库,数据仓库之间是什么关系
    老李分享:DBA
    老李提问:开源家族你认识几个
    米尔格伦连锁信实验
    老李分享:六度分隔理论
    三者关系
    老李分享:JDK,JRE,JVM区别与联系
    Linux简介与厂商版本下
    Linux简介与厂商版本上
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5248900.html
Copyright © 2011-2022 走看看