nodejs+express搭建中遇到的坑
来源:互联网 发布:如何在mac制作铃声 编辑:程序博客网 时间:2024/06/08 03:55
近期做一个小项目,除了需要正常的web-server功能,还需要在后台定时执行数据统计和挖掘。参考现成的两种方案nodejs和nginx-lua后,最终因为npm社区的强大(其实是我比较懒,npm现成的东西实在是太多了)选择了nodejs
安装nodejs
nodejs平台上最有名的就是express这款web开发框架。window平台安装nodejs过程比较顺利,不过在linux(debian)平台遇到一个问题。apt源中nodejs版本实在是太低了,根本运行不了最新express。有两个解决办法,一个是直接下载linux下运行bin文件,再分别针对node和npm做软连接,第二种就是直接下载源码安装。
直接下载二进制运行老遇到些莫名其妙的问题,所以我用的是第二种,wget下载后解压,一路make,make install。
这里稍微提下,如果是macosx平台下,可以直接下载对应安装包或者使用grew安装,个人建议brew,安装brew的时候记得切换为国内的brew源,强烈推荐中科大mirrors.ustc.edu.cn的源,速度飞快。
生成Express工程
我们选用的是express框架,所以只需要用全局方式安装express其实就可以自行创建工程了,不过express附带了一个工程生成器。进入命令行,分别执行:
- 安装npm install express -g;
- 安装npm install express-generator -g;
- 进入工程所在目录,创建工程 express xxx;
- 进入工程目录,运行npm install安装express依赖模块;
恭喜,正常情况下,你的工程就顺利建立起来了。不过如果你不想等待30分钟以上的安装过程,建议你在执行这些命令前,安装cnpm,这是用于替换npm的一个工具,我们把他指向淘宝的npm镜像,命令如下:
npm install -g cnpm --registry=https://registry.npm.taobao.org
后面的事情就简单了,在npm的地方全部替换成cnpm,体验秒下的感觉。
运行Express
接下来配置bin/www,使用npm start启动项目即可。不过如果部署到生产环境的服务器,还是建议你安装pm2,可以将项目分布式后台驻守,命令如下:
- 安装npm install pm2 -g
- 启动pm2 start bin/www --name xxx
- 停止pm2 stop xxx
- 重启pm2 reload xxx
Express中常用模块
下面再顺便推荐些必用的模块:
- async:由于nodejs全局充斥非阻塞回调,稍微复杂点的模块,肯定是回调嵌套回调,代码写得极其恶心。async就是用来解决这个问题的,其中的async.auto可以把嵌套关系串联起来,而且可以设置处理顺序,代码如下:
async.auto({ user:action.func1, search:action.func2, write:['user','search',func3]},function(err, results){ func4(request, response, results);});
- config:json配置文件必备
- string-format:可以使用format('xxx{0}',replce)方式替换字符串;
- memory-cache : 内存缓存组件,使用getter和putter操作数据缓存。
- node-schedule: 可用于后台定期执行任务,我找的就是这个,用法也很简单,比如每5秒执行一个任务:
var schedule = require('node-schedule');var rule = new schedule.RecurrenceRule();rule.second = [1,6,11,16,21,26,31,36,41,46,51,56];schedule.scheduleJob(rule, onLoop);
阅读全文
0 0
- nodejs+express搭建中遇到的坑
- 搭建nodejs的express框架
- nodeJS的express框架的搭建
- nodejs+express搭建自己的服务框架
- nodejs+express搭建简单的电影网站之 express安装
- nodejs-express环境搭建
- Nodejs,express博客搭建
- 详解nodejs中express搭建权限管理系统
- nodejs 安装 express 遇到的问题及解决方法
- nodejs+express+mongodb搭建网站
- 使用express搭建nodejs项目
- Nodejs 手动搭建 Express 项目
- 基于nodejs+express+ejs的系统的开发环境搭建
- express nodejs的安装
- nodejs Express 中session使用
- nodeJs-express中使用session
- 在nodejs express 中使用session的功能
- NodeJS Express 中创建html5的server-sent event服务端
- [Java]OOP的学生类
- 第二章 SQL参考命令-COMMENT
- 1020. 月饼 (25)
- Hadoop 2.7分布式集群环境搭建
- 如何调试Python程序
- nodejs+express搭建中遇到的坑
- java8日期时间API(一)
- 2017 ACM/ICPC Asia Regional shenyang Online
- python-Django 内存泄露问题
- 网络编程
- 晚上无聊,那就来『玩点什么』
- AI 时代如何提升自己——开发者实战营·深圳站
- 中国人民大学自动完成作业脚本
- Spring Boot使用Thymeleaf