使用 node+vue+ts+mysql 开发一个小app
前端采用的是 vue及vue相关技术栈
后端采用的是 nodejs技术栈
nodejs采用的是js核心语法,对于前端出身的人更友善一些
数据库使用的是 mysql,管理工具使用的是 navicat
数据库
从数据库入手
我们这里使用的模块是 sequelize-cli sequelize sequelize-typescript mysql2
npm i sequelize-cli -d
npm i sequelize
npm i mysql2
sequelize 是一个基于 nodejs 的 ORM 库
什么是 ORM ?
ORM 全称 Object Relational Mapping – 对象关系映射
通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示着额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。 更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。
说简单一些就是可以像操作对象一样去操纵数据库,而不是sql
如何使用sequelize?
在根目录下配置一个 .sequelizerc
执行sequelize相关命令时会读这个文件的配置
const path = require('path');
module.exports = {
'env': 'development',
'config': path.resolve('src', 'configs/database.json'