分类
Node.js

nodejs n工具

sudo -E env "PATH=$PATH" n stable

参考链接:

Command not found when executing node.js n package on sudo

Node 版本管理器 n 和 nvm

使用 nvm 管理不同版本的 node 与 npm

分类
Node.js

fs文件操作

fs.writeFile():写入文件

fs.readFile() :读取文件

参考链接

fs文件操作模块

分类
Node.js

protobuf.js

在node中使用protobuf.js

ProtoBuf.js – Protocol Buffers的Javascript实现

protobuf.js

ProtoBuf 协议设计与开发

Protobuf3语言指南

NodeJs使用nodejs-websocket + protobuf

分类
Node.js

node守护forever和pm2

forever

npm install forever -g   #安装
forever start app.js  #启动应用
forever stop app.js  #关闭应用
forever restartall  #重启所有应用

#输出日志和错误
forever start -l forever.log -o out.log -e err.log app.js   

# 指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log
forever start -l forever.log app.js  

# 指定app.js中的日志信息和错误日志输出文件,  
# -o 就是console.log输出的信息,-e 就是console.error输出的信息
forever start -o out.log -e err.log app.js 

# 追加日志,forever默认是不能覆盖上次的启动日志,  
# 所以如果第二次启动不加-a,则会不让运行  
forever start -l forever.log -a app.js

# 监听当前文件夹下的所有文件改动(不太建议这样)  
forever start -w app.js  

# 显示所有运行的服务 
forever list  

######停止操作

# 停止所有运行的node App  
forever stopall  

# 停止其中一个node App  
forever stop app.js  

# 当然还可以这样  
# forever list 找到对应的id,然后:  
forever stop [id]

# 开发环境下  
NODE_ENV=development forever start -l forever.log -e err.log -a app.js  
# 线上环境下  
NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js
#上面加上NODE_ENV为了让app.js辨认当前是什么环境用的

 

分类
Node.js

Express容易忽视的小问题

1.http.request时Content-Length的计算,如果编码采用charset=utf-8,则

"Content-Length": Buffer.byteLength(data,'utf-8')

 

分类
Node.js

Express重定向

 

res.location(url)
res.location(url);

参考链接

分类
Node.js

Express中cookie使用

1.保存

res.cookie('user',user, {maxAge:maxAge});

 

2.获得

npm install cookie-parser
var cookieParser = require('cookie-parser');
app.use(cookieParser());
req.cookies.user

3.清除

res.clearCookie('user');

 

参考链接

 

分类
Node.js

Express获取get,post参数

获取get req.query.参数名

req.query.user

 

获取post,需要引入中间件connect-multipart,req.body.参数名

1.引入connect-multipart

var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();

2.传入中间件

router.post('/send',multipartMiddleware,function(req, res, next){
    console.log(req.body);
});

参考链接

分类
Node.js

Express使用html模板

1. 安装ejs

在项目根目录安装ejs.

npm install ejs

2、引入ejs

var ejs = require('ejs');  //我是新引入的ejs插件

3、设置html引擎

app.engine('html', ejs.__express);

设置视图引擎

app.set('view engine', 'html');

4.模版函数参考ejs写法

<%= EJS %>

 

关于Error: Failed to lookup view “error” in views directory,需要在views文件夹下面少了error文件夹(无论你是用的ejs模板还是jade模板,error文件都是必须的)

分类
Node.js

Nodejs常用记录

1.Nodejs 发送HTTP POST请求实例,以网易云短信为例