form-data
// 前端发送 formData 请求 |
// 看看
// https://blog.csdn.net/yiyanbuhe/article/details/79105287
http://yijiebuyi.com/blog/90c1381bfe0efb94cf9df932147552be.html
io
- 斐波那契数列
path
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..') |
path.basename 获取路径的名称(最后一部分)
path.delimiter 返回当前操作系统多个路径的分隔符
path.dirname 获取路径的父文件夹路径
path.extname 返回文件路径的扩展名
path.isAbsolute 判断是否是绝对路径
path.join 连接两个或多个路径
path.normalize 将路径中的’.’和’..’转化成最终的路径
path.relative 返回一个路径针对另一个路径的相对路径
path.resolve 按照多个路径的值返回最终的路径
path.seq 返回操作系统路径文件夹分隔符
path.win32 返回Windows系统的path执行
参考:
http://nodejs.cn/api/path.html#path_path_posix
http://wiki.jikexueyuan.com/project/nodejs/path.html
http://www.jianshu.com/p/d2c96d295d48
nvm
https://github.com/nvm-sh/nvm/blob/master/README.mdnvm alias default 16.14.2
url
url.parse()
process
PORT=8888 node app.js // 当前生效 |
package
multer ? |
hash
计算文件哈希值,需要使用crypto模块中的Hash类。Hash类是一个可读写的Stream流,要计算文件的哈希值首先要读取文件并创建一个Stream。在Node.js中,操作文件使用的fs模块。以下是一个计算文件MD5值的示例
var crypto = require('crypto') |
在上面的示例中,基于流事件监听创建并更新文件哈希流。hash.update方法,默认传入数据类型为Buffer。使用fs模块的fs.readFile或fs.readFileSync方法,可以从文件读取一个文件的Buffer。因此,以上代码可以简化为
var crypto = require('crypto') |
Hash类除可以计算文件MD5值外,还可用于计算文件的’sha1’、’sha256’、’sha512’等值,使用时修改crypto.createHash(‘md5’)方法的传入参数即可
// https://itbilu.com/nodejs/npm/Nk-6MeQ9.html
pm2
http://pm2.keymetrics.io/
启动参数
–watch 监听变化自动重启
-i –instances 启动多少个实例,用于负载均衡
-n –name 应用名称
-o –output
-e –error
重启
pm2 restart appjs
停止
pm2 stop app_name | app_id
查看进程配置信息
pm2 describe 0
配置信息
{
“name” : “fis-receiver”, // 应用名称
“script” : “./bin/www”, // 实际启动脚本
“cwd” : “./“, // 当前工作路径
“watch”: [ // 监控变化的目录,一旦变化,自动重启
“bin”,
“routers”
],
“ignore_watch” : [ // 从监控目录中排除
“node_modules”,
“logs”,
“public”
],
“watch_options”: {
“followSymlinks”: false
},
“error_file” : “./logs/app-err.log”, // 错误日志路径
“out_file” : “./logs/app-out.log”, // 普通日志路径
“env”: {
“NODE_ENV”: “production” // 环境参数,当前指定为生产环境
}
}
环境配置
“env”: {
“NODE_ENV”: “production”,
“REMOTE_ADDR”: “http://www.example.com/"
},
“env_dev”: {
“NODE_ENV”: “development”,
“REMOTE_ADDR”: “http://wdev.example.com/"
},
“env_test”: {
“NODE_ENV”: “test”,
“REMOTE_ADDR”: “http://wtest.example.com/"
}
启动指明环境
pm2 start app.js –env dev
监控
pm2 monit
内存使用超过上限自动重启
pm2 start app.js –max-memory-restart 20M
pm2编程接口
http://pm2.keymetrics.io/docs/usage/pm2-api/
参考
http://www.cnblogs.com/chyingp/p/pm2-documentation.html
querystring
var info = { |
momentjs
moment().format(‘YYYY-MM-DD’)
http://momentjs.com/docs/
gd-gif
nodejs 生成验证码
process 进程对象
// argv // 以数组形式返回nodejs的执行脚本参数 |
全局对象
1.global // 类似window对象, 别名是GLOBAL,适合较小应用
2.module.export // exports.company = ‘Google’ 适合大型应用console.log(Object.getOwnPropertyNames(global)) // 所有属性
egg render
const data = { name: 'egg', appName: 123 }; |