koa2-blog踩坑

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,

  1. 在/etc/my.cnf文件里的歌对应项例如:[client]添加的default-character-set = utf8
  2. 重启mysql: service mysqld restart
  3. 进入mysql命令行: status查询默认编码格式全部显示utf8则成功

5.

解决Git在添加ignore文件之前就提交了项目无法再过滤问题:

  1. git pull => 同步远程仓库, 避免冲突
  2. git rm -r --cached . => 清除git缓存
  3. 新建ignore文件, 添加过滤
  4. git add .
  5. git commit -m ""
  6. 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()的第一个参数需要定位到文件名

``

你可能感兴趣的:(koa2-blog踩坑)