node开发 npm install -g express-generator@4
Node forever :
1,forever start --uid test start app.js
2,forever start --uid test start -a app.js
3,forever list
4,forever stop test
node 开发流程
1,express nodeName ; npm install;
2,加入Database;var mongoose = require('mongoose'); npm install mongoose --save
var dbIpAddress = process.env.MONGO_PORT_27017_TCP_ADDR || 'localhost';
var dbPort = process.env.MONGO_PORT_27017_TCP_PORT || '27017';
mongoose.connect('mongodb://' + dbIpAddress + ':' + dbPort + '/menusifu', function(err) {
if(err) {
console.log('connection error', err);
} else {
console.log('DB connection successful');
}
});
3,加入Log
var logDirectory = __dirname + '/log';
var phonePath=path.join(__dirname, '../public/'+d.merchantId+"/txt");
mkdirp(phonePath, function (err) {
if (err) console.log(err)
else console.log('success');
});
4,app.use前加入过滤
app.use(function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
next();
});
app.use('/', routes);
5,把ERROR改成
var errorJson={
"11000":"duplicate key error"
}
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
if(!!err.code){err.message=!!errorJson[err.code]?errorJson[err.code];}
res.json({"ok":0,"message":err.message});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
if(!!err.code){err.message=!!errorJson[err.code]?errorJson[err.code];}
res.json({"ok":0,"message":err.message});
});
=======================================
if (!!err) return next(err);
node开发 npm install -g express-generator@4的更多相关文章
- nodejs npm install -g 全局安装
1. npm install xxx -g 时, 模块将被下载安装到[全局目录]中. [全局目录]通过 npm config set prefix "目录路径" 来设置. 比如说, ...
- nodejs npm install -g 全局安装和非全局安装的区别
1. npm install xxx -g 时, 模块将被下载安装到[全局目录]中. [全局目录]通过 npm config set prefix "目录路径" 来设置. 比如说, ...
- npm全局安装和本地安装和本地开发安装(npm install --g/--save/--save-dev)
详细说明参考:http://www.cnblogs.com/PeunZhang/p/5629329.html 我个人理解: 1.全局安装(npm install -g)是为了用命令行,比如在windo ...
- [坑况]——windows升级node最新版本报错【npm install -g n】
我本来是下载一个vue-cli的,然后技术日新月异,告知我要先把我的node升级到8以上(目前是v6.1.13) 升级就升级,升级就报错 尝试第一种方法,网上最多的一种方法,估计也是成功最多的一种吧( ...
- npm install, npm install -g, npm install --save, npm install --save-dev之间的区别
1.npm install X 安装X到项目的node_modules文件夹 会修改package.json,在dependencies中写入依赖.(关于这一点,网上的大部分文章都是说,不会修改pac ...
- npm install、npm install --save与npm install --save-dev、npm install -g区别
npm install X: 会把X包安装到node_modules目录中 不会修改package.json 之后运行npm install命令时,不会自动安装X npm install X –sav ...
- npm install -g 全局安装总是出现permission权限问题的解决方案
npm install -g 全局安装总是出现permission权限问题的解决方案 开始使用node的时候,在使用npm安装global packages时,习惯性地使用npm install -g ...
- appium----【已解决】【Mac】安装sudo npm install -g appium-doctor总是提示“Error: EACCES: permission denied........”
[mac电脑] 问题: (1)npm install -g appium-doctor (2)sudo npm install -g appium-doctor (3)cnpm install ...
- npm install -g @angular/cli@latest 失败
一开始的ERROR信息是 error "@angular/compiler-cli" package was not properly installed 尝试方案二时又出现了以下 ...
随机推荐
- 用python实现把数字人民币金额转换成大写的脚本程序
# -*- coding: utf-8 -*- def Num2MoneyFormat( change_number ): """ .转换数字为大写货币格式( forma ...
- Python学习笔记5-元组
元组是用圆括号括起来的,其中的元素之间用逗号隔开 >>> t = 123,'abc',["come","here"] >>> ...
- android下基本json串的生成与解析
以前就用过json串,不过是在java环境下面,如今转移到android环境下,java里面生成解析json串的jar包与android中自带的冲突,所以也只能用安卓自带的. 先前查网上的资料,感 ...
- iOS 开发之 Xcode6 创建真机调试证书
http://jingyan.baidu.com/article/ff411625b8141312e48237a7.html 1.登录苹果开发者中心 2.登录后的界面如图所示,如果没有最上面的两个选项 ...
- jQuery中$.post()的使用
$.post()方法是jquery本身对ajax的一个简单封装,其效果等价于: $.ajax({ url:url, type:"POST", data:data, dataType ...
- Fatal error compiling: 无效的目标发行版: 1.8 -> [Help 1] (zhuan)
http://blog.csdn.net/z18137017273/article/details/53033613 ***************************************** ...
- jquery中DOM
节点包裹 wrap() (1)$().wrap(html) 将选择的节点用指定的元素包装 $('p').wrap('<div></div>'); (2)多层包裹 $('p'). ...
- djangoadmin导出csv
from django.contrib import admin from .models import Order,OrderItem from django.http import HttpRes ...
- 探究requestDisallowInterceptTouchEvent失效的原因
昨天在用requestDisallowInterceptTouchEvent的时候,发如今设置了requestDisallowInterceptTouchEvent(true)之后,父View的onI ...
- CreateDIBSection函数
HBITMAP CreateDIBSection( HDC hdc, // handle to DC CONSTBITMAPINFO*pbmi, // bitmap dataUINT iUsage, ...