nodejs个人博客开发第二步 入口文件


Posted in NodeJs onApril 12, 2017

本文为大家分享了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)

nodejs个人博客开发第二步 入口文件

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

配置文件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'));

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
NodeJS框架Express的模板视图机制分析
Jul 19 NodeJs
nodejs npm install全局安装和本地安装的区别
Jun 05 NodeJs
nodeJs爬虫获取数据简单实现代码
Mar 29 NodeJs
nodeJs内存泄漏问题详解
Sep 05 NodeJs
NodeJS仿WebApi路由示例
Feb 28 NodeJs
nodejs操作mongodb的增删改查功能实例
Nov 09 NodeJs
NodeJs实现定时任务的示例代码
Dec 05 NodeJs
通过nodejs 服务器读取HTML文件渲染到页面的方法
May 17 NodeJs
Nodejs Express 通过log4js写日志到Logstash(ELK)
Aug 30 NodeJs
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
Nov 18 NodeJs
如何利用nodejs实现命令行游戏
Nov 24 NodeJs
nodejs个人博客开发第一步 准备工作
Apr 12 #NodeJs
nodejs获取微信小程序带参数二维码实现代码
Apr 12 #NodeJs
详解nodejs微信公众号开发——5.素材管理接口
Apr 11 #NodeJs
详解nodejs微信公众号开发——4.自动回复各种消息
Apr 11 #NodeJs
nodejs连接mysql数据库简单封装示例-mysql模块
Apr 10 #NodeJs
详解nodejs操作mongodb数据库封装DB类
Apr 10 #NodeJs
详解nodejs微信公众号开发——3.封装消息响应模块
Apr 10 #NodeJs
You might like
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
推荐几个开源的微信开发项目
2014/12/28 PHP
PHP实现的杨辉三角求解算法分析
2019/03/11 PHP
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
javascript天然的迭代器
2010/10/29 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
[01:21]DOTA2新纪元-7.0新版本即将开启!
2016/12/11 DOTA
从零学Python之hello world
2014/05/21 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
PyQt5中向单元格添加控件的方法示例
2020/03/24 Python
django 模型字段设置默认值代码
2020/07/15 Python
Python colormap库的安装和使用详情
2020/10/06 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
Python字典dict常用方法函数实例
2020/11/09 Python
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
北京银河万佳Java面试题
2012/03/21 面试题
销售业务员岗位职责
2014/01/29 职场文书
共产党员承诺书
2014/03/25 职场文书
毕业寄语大全
2014/04/09 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL