美文网首页
个人博客-开发记录

个人博客-开发记录

作者: E微客 | 来源:发表于2019-02-12 20:29 被阅读0次

  本篇主要记录了在使用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,解压后放至服务器下,在浏览器地址栏输入“域名/文件夹名”访问,输入服务器数据库用户名和密码后开始使用。
主界面
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();代码

相关文章

  • 个人博客-开发记录

      本篇主要记录了在使用nodeJs+Express+Vue+MySQL开发个人博客时,遇到的各种问题以及解决方式...

  • 漫码生活

    简书不记录记录开发相关博客。请移步:我的博客我的思否

  • Flask博客开发实战 - 前言

    前言 本套教程命名为《flask博客项目开发实战》,开发这套教程的目的旨在免费分享知识,记录个人学习成果,梳理个人...

  • 个人博客搭建记录

    2017年末,买了个人域名wolfxu.com,于是搭建了自己的个人博客。2018年初,逐步完善了博客的各种配置,...

  • textarea 自适应高度

    textarea高度自适应自动增高撑开-前端开发博客 做个记录.....

  • node 环境,mysql 注入

    记录一次mysql注入过程。 环境 后端: node 、 express 描述 最近在开发一个简单的个人博客,在开...

  • 经过几天努力终于开源了一个前后分离的vue + springbo

    为什么会开发这个个人博客? 说到为什么会开发这个个人博客,愿意在上半年写了一个多人博客,byteblogs 但是总...

  • Android 自定义Camera2 系列(二)

    该博客主要记录在开发过程中所运用到的Api 和部分技术调用的记录,阅读时间:15分钟+ ,该博客记录内容相对简单,...

  • PHP 开发新版个人博客

    简介 基于Laravel5.2开发,依赖开源程序,支持markdown语法编辑文章,完善的系统管理后台,能够快速搭...

  • 个人博客开发阶段总结

    从4.6 号开始,到 5.20 问题总结的差不多,中间差不多一个半月的时间(中午 + 晚上)。本来那一段时间刚完成...

网友评论

      本文标题:个人博客-开发记录

      本文链接:https://www.haomeiwen.com/subject/vttcjqtx.html