Mac设置全局路径

export NODE_PATH=/usr/local/lib/node_modules

node中全局对象 __dirname__filename

  1. __dirname 只包含当前文件的路径
  2. __filename 包含路径和文件名

npm升级某个包的命令

npm update -g webpack

pm2常用命令以及解释参考

pm2 启动程序: 先进入app,然后pm2 start app.js || pm2 start npm – run XXX

指定pm2的普通日志文件和错误日志文件:

pm2 start app.js -o ./logs/out.log -e ./logs/error.log

pm2自动启动,程序运行完之后运行:

pm2 save
pm2 startup

或者在根目录下创建config.json

1
2
3
4
5
6
7
{
"script" : "app.js", // 启动文件
"error_file" : "./logs/err.log", // 错误日志目录
"out_file" : "./logs/out.log",
"merge_logs" : true,
"log_date_format" : "YYYY-MM-DD HH:mm Z"
}

nunjucks给页面里面的js赋值

1.普通的赋值

1
let title = `{{ title }}`

2.传对象或者数组
1):传的时候要JSON.stringify
2):在页面上获取的时候需要先解码:

1
2
3
4
// 参数a是需要解码的数据
function unescapeHTML(a){
return a.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&").replace(/&quot;/g, '"').replace(/&apos;/g, "'");
}

3):JSON.parse

数据库存储emoji表情的问题:

1
2
<!-- utf8mb4 可以存储四个字节的数据 -->
ALTER TABLE {表名} CHANGE {表字段名} {表字段名} VARCHAR(200) CHARACTER SET utf8mb4;