1.
路由总有/:postid 和 /create 的时候, 一定要把/create的路由放到/:postid前边, 否则的话就会先执行/:postid路由的业务
2.
使用FileReader对象解析上传的图片, 并传到后台一个base64格式, 利用Buffer对象(new Buffer(base64Data, 'base64')) 得到图片的二进制流, 利用fs.writeFile()写入到本地服务器,
3.
利用h5新特性 - 拖拽文件, 实现拖拽类简书的markdown图片拖拽, dragenter, dragleave, dragover, drop,
注意:1. 这几个事件是h5新特性, 是dom3规范需要试用addEventListener进行监听
2. 浏览器默认会打开拖拽的文件, 要想清除此默认事件需要, 监听dragover, drop两个事件并清除这两个事件的默认事件
4.
linux线上服务器, mysql中文显示'??????'问题: mysql数据库默认编码格式不是utf8,
- 在/etc/my.cnf文件里的歌对应项例如:[client]添加的default-character-set = utf8
- 重启mysql: service mysqld restart
- 进入mysql命令行: status查询默认编码格式全部显示utf8则成功
5.
解决Git在添加ignore文件之前就提交了项目无法再过滤问题:
- git pull => 同步远程仓库, 避免冲突
- git rm -r --cached . => 清除git缓存
- 新建ignore文件, 添加过滤
- git add .
- git commit -m ""
- git push
6.
pm2启动node项目的时候, status显示errored, 并且页面一直加载, 但是, 使用node命令启动的时候可以正常运行.
解决方法: 使用 pm2 delete all # 杀死全部进程可以解决
pm2常用命令: 参考链接
7
nginx反代理到80端口:
配置文件如下:
upstream nodeweb-server {
server localhost:3000;
}
server {
listen 80;
root /www/web/moneng/public_html;
server_name www.moneng.org www.moneng.org moneng.org node.moneng.org;
location / {
proxy_pass http://nodeweb-server/article/post;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
}
}
配置好之后重启:nginx: service nginxd start|stop|restart nginx服务 启动|停止|重起
附上其他:
service wdapache start|stop|restart wdcp后台 启动|停止|重起
service nginxd start|stop|restart nginx服务 启动|停止|重起
service httpd start|stop|restart httpd服务 启动|停止|重起
service pureftpd start|stop|restart ftp服务 启动|停止|重起
service mysqld start|stop|restart mysql服务 启动|停止|重起
8.
node项目使用nginx反向代理,出现响应超慢问题:
原文地址:http://flashing.iteye.com/blog/1930877
最后发现:
proxy_buffering off;
这个默认现在是on的,1.4.2,centos 6.
纯坑。
9.
拖拽图片进文章时候, 使用drop事件, 将图片的base64编码写入文章, 由于base64格式太大, 到时TEXT数据格式空间不够, 更改数据格式为MEDIUMTEXT, 如果还不够则改为LONGTEXT .
修改mysql命令:
alter table 表名称 modify 字段名称 字段类型 [是否允许非空]
alter table post_table content mediumtext not null
10 fs.writeFile()的第一个参数需要定位到文件名
``