作者

一、简述

本次项目是用node.js写后台接口,前端使用vue.js分离的方法实现一个在线点咖啡的项目。本节教程只是一个简单的入门,关于实际用法后期继续更新。

二、搭建应用

1、 通过应用生成器工具 express-generator 可以快速创建一个应用。执行如下命令的前提是你的终端已经安装好了node.js。如果没有,请自行安装。

npm install -g cnpm --registry=https://registry.npm.taobao.org #安装淘宝镜像
npm install express-generator -g #全局安装生成器
express --view=pug blog          #创建项目
cd blog                         #进入项目
cnpm install                    #安装node_modules

DEBUG=blog:* npm start    #启动项目

2、然后在浏览器中打开 http://localhost:3000/ 网址就可以看到这个应用了。

3、从webstrom打开项目,routes文件夹里面的index.js,尝试去修改title里面的 Express123,然后刷新页面,发现页面并没有任何变化。此时需按照以下命令安装:

cnpm insatll -g nodemon

package.json文件中修改如下代码,其中 DEBUG后面跟的项目名称。

"scripts": {
  "start": "DEBUG=blog nodemon ./bin/www"
},

改完后再重新启动终端,测试实时监听成功!

三、基本使用

1、配置,安装数据库。Sequelize是一个基于 promiseNode.js ORM, 目前支持 Postgres, MySQL, SQLiteMicrosoft SQL Server. 它具有强大的事务支持, 关联关系, 读取和复制等功能. 参考文档https://demopark.github.io/sequelize-docs-Zh-CN/

cnpm install --save sequelize   #安装数据库依赖包
cnpm install --save mysql2      #安装数据库
sequelize init                  #初始化,会创建对应项目的模型、迁移、种子文件等

#如果初始化失败,请执行下面命令,再初始化
npm install -g sequelize-cli

2、创建迁移文件和模型:sequelize model:generate --name User --attributes firstName:string,lastName:string,email:string

3、在config/config.json文件中,修改数据库配置。

创建你的本地数据库:sequelize db:create

4、执行数据库迁移:sequelize db:migrate

5、创建种子文件:sequelize seed:generate --name demo-user

6、更改种子文件数据后,运行种子文件:sequelize db:seed:all

up: (queryInterface, Sequelize) => {
    return queryInterface.bulkInsert('Users', [{
        firstName: 'hahhah',
        lastName: 'huangdj',
        email: '316090454@qq.com',
        createdAt: new Date(),
        updatedAt: new Date(),
    }], {});
},

7、启动项目:DEBUG=blog:* npm start 。查看代码你会发现,这时,我们已经创建了一个单独的模块 users。 路由在app.js文件中,打开users.js文件写上如下代码:

var models  = require('../models');
var express = require('express');
var router = express.Router();

/* GET users listing. */
router.get('/', function(req, res, next) {
    models.User.findAll().then(users => {
         res.json(users);
    })

});

module.exports = router;

刷新浏览器,你会发现,我要查的数据已被查出:

转载请注明,来自https://itfun.tv/news/150