个人博客-开发记录

  本篇主要记录了在使用nodeJs+Express+Vue+MySQL开发个人博客时,遇到的各种问题以及解决方式,持续更新中。
  最终效果预览地址:www.sunhongfei.cn

nodeJS后台开发记录:

1. nodeJS-Express框架:

全局安装express:npm install express -gnpm install express-generator -g,两条命令后即可使用express作为关键字,使用express --version查看对应版本

2. 设置跨域资源共享CORS:
app.all('*', function (req, res, next) {
    // res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Origin", "http://localhost:8080");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By", ' 3.2.1')
    res.header("Content-Type", "application/x-www-form-urlencoded");
    // res.header("Content-Type", "application/json;charset=utf-8");
    next();
});
3. 使用POST请求接受参数,必须安装body-parser,并加入以下代码:
var bodyparser = require('body-parser');
app.use(bodyparser.urlencoded({
    extende: true
}));
app.use(bodyparser.json())
4. 发送POST请求失败,显示typeOPTIONS,原因是请求头类型错误,应将'Content-Type': 'application/json'改为'Content-Type': 'application/x-www-form-urlencoded'
5. 连接mysql数据库:首先使用npm install mysql安装模块
let mysql = require('mysql');
let connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '******',
    database: 'myblog'
});
connection.connect();  //连接
connection.query('SELECT * FROM article', function (error, results, fields) {
    if (error) throw error;
    //转为可以正常识别的JSON对象
    results = JSON.parse(JSON.stringify(results[0])) 
    ResponseDate.code = 200
    ResponseDate.data = results
    res.status(200)
    res.json(ResponseDate)
});
connection.end();  //关闭
6. 操作服务器数据库:下载phpMyAdmin,解压后放至服务器下,在浏览器地址栏输入“域名/文件夹名”访问,输入服务器数据库用户名和密码后开始使用。
个人博客-开发记录_第1张图片
主界面
7. 使用PM2,保证服务开启,使用方法如下:
  • 启用应用: pm2 start app.js
  • 停止:pm2 stop app.js
  • 删除:pm2 delete app.js
  • 重启:pm2 restart app.js
  • 停止所有:pm2 stop all.js
  • 查看所有的进程:pm2 list
  • 查看所有的进程状态:pm2 status
  • 查看某一个进程的信息:pm2 describe app
8. 在服务器上使用NVM安装Node环境

NVM(Node version manager)是Node.js的版本管理软件,使用户可以轻松在Node.js各个版本间进行切换。适用于长期做 node 开发的人员或有快速更新node版本、快速切换node版本这一需求的用户。

i. 直接使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。

yum install git
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`

ii. 激活NVM。

echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile

iii. 列出Node.js的所有版本。nvm list-remote
iv. 安装多个Node.js。nvm install v8.11.3
v. 运行 nvm ls 查看已安装Node.js版本。
vi. 运行 nvm use v7.4.0 切换Node.js版本至v7.4.0。

9. 当刷新页面,第二次向后台发送请求时报错:Cannot enqueue Handshake after invoking quit.

解决方法:服务器启动时使用connection.connect();创建一个连接,之后一直使用这一个查询即可,不用再关闭连接,即删除connection.end();代码

你可能感兴趣的:(个人博客-开发记录)