【Vue3+Express实战-2】Sequilze连接Mysql,1307页字节跳动前端面试全套真题解析火了

连接mysql

上面我们已经写好了数据库的配置文件,下面我们就来编写一个通用的Sequlize实例!

在app文件夹下创建models文件,然后新建index.js。下面开始编写连接数据库的代码:

const dbConfig = require(“…/config/db.config.js”);

const Sequelize = require(“sequelize”);

const sequelize = new Sequelize(dbConfig.DB, dbConfig.USER, dbConfig.PASSWORD, {

host: dbConfig.HOST,

dialect: dbConfig.dialect,

});

const db = {};

db.Sequelize = Sequelize;

db.sequelize = sequelize;

module.exports = db;

这里请注意:我们最后又创建了一个db 对象,定义这个db对象的原因是,我们可以将Sequelize类和sequelize都挂载到db上,进行一个统一的管理,同时还可以将下面要创建的模型都挂载到db上!

创建课程模型

我们已经可以正常的连接数据库了,那连接数据库之后,我们是不是需要在testdb创建表!之前我们可能是需要编写sql脚本或者使用可视化工具创建表,添加字段。不过Sequelizes可以通过定义模型,同步模型到数据库中,从而自动的在数据库中创建表以及字段。也就是说Sequelizes的模型对应数据库中的表!

在Sequelizes中有两种定义数据模型的方式。

这里我们使用define方式,defined是通过Sequlize实例来调用的。

我们定义了一个函数,这个函数接受sequelize,实例 Sequelize类两个参数,然后在函数内部通过调用实例上define函数来创建一个Tutorial实例。

module.exports = (sequelize, Sequelize) => {

const Tutorial = sequelize.define(“tutorial”, {

title: {

type: Sequelize.STRING

},

description: {

type: Sequelize.STRING

},

published: {

type: Sequelize.BOOLEAN

}

});

return Tutorial;

};

虽然我们只定义了title,description published 三个字段,但是Sequelize 将会自动这些列将自动生成:idcreatedAtupdatedAt

然后,我们在app/models/index.js,中调用这个函数。

db.Sequelize = Sequelize;

db.sequelize = sequelize

db.tutorials = require(“./tutorial.model.js”)(sequelize, Sequelize);

module.exports = db;

这里我们再来说一下,定义db对象的好处。

  1. 将Sequelize类, sequelize实例挂在db上,这样我们在其他文件中用到Sequelize类, sequelize实例,是只需要import db就可以,不需要引入两次

  2. 可以将模型都挂在到db。这里只是一个模型,如果100个模型,某个文件,我们可能会需要引入99个模型,那么就要写99个import,但是你都挂在到db上,就只需要写一次import。

同步模型

定义好模型之后,我们就可以同步模型!

在server.js中,我们引入并使用刚才创建的sqeuilze

const db = require(“./app/models”);

db.sequelize.sync().then(() => {

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后

中年危机是真实存在的,即便有技术傍身,还是难免对自己的生存能力产生质疑和焦虑,这些年职业发展,一直在寻求消除焦虑的依靠。

  • 技术要深入到什么程度?

  • 做久了技术总要转型管理?

  • 我能做什么,我想做什么?

  • 一技之长,就是深耕你的专业技能,你的专业技术。(重点)

  • 独立做事,当你的一技之长达到一定深度的时候,需要开始思考如何独立做事。(创业)

  • 拥有事业,选择一份使命,带领团队实现它。(创业)

一技之长分五个层次

  • 栈内技术 - 是指你的前端专业领域技术

  • 栈外技术 - 是指栈内技术的上下游,领域外的相关专业知识

  • 工程经验 - 是建设专业技术体系的“解决方案”

  • 带人做事 - 是对团队协作能力的要求

  • 业界发声 - 工作经验总结对外分享,与他人交流

永远不要放弃一技之长,它值得你长期信仰持有

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等。


CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】**

主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用VueExpressexpress-fileupload、jsonserver和Element UI来实现图片上传,并将其存放到指定位置。下面是一个简单的步骤指南: 1. 在Vue项目中安装Element UI组件库: ```bash npm install element-ui ``` 2. 创建一个Vue组件,用于实现图片上传的功能。你可以使用Element UI的上传组件: ```javascript <template> <div> <el-upload class="upload-demo" action="/api/upload" :before-upload="beforeUpload" :on-success="onSuccess" :file-list="fileList" multiple > <el-button size="small" type="primary">点击上传</el-button> </el-upload> </div> </template> <script> export default { data() { return { fileList: [] }; }, methods: { beforeUpload(file) { // 在上传之前的操作,比如限制文件类型和大小 }, onSuccess(response, file, fileList) { // 上传成功后的操作 } } }; </script> ``` 3. 在Express项目中安装express-fileupload和jsonserver: ```bash npm install express-fileupload jsonserver ``` 4. 创建一个Express路由,用于处理图片上传的请求: ```javascript const express = require('express'); const fileUpload = require('express-fileupload'); const app = express(); // 启用express-fileupload中间件 app.use(fileUpload()); // 处理图片上传的请求 app.post('/api/upload', (req, res) => { if (!req.files) { return res.status(400).send('No files were uploaded.'); } // 获取上传的文件 const sampleFile = req.files.sampleFile; // 将文件保存到指定位置 sampleFile.mv('/path/to/save/' + sampleFile.name, (err) => { if (err) { return res.status(500).send(err); } // 返回上传成功的信息 res.send('File uploaded!'); }); }); // 启动服务器 app.listen(3000, () => { console.log('Server is running on port 3000'); }); ``` 5. 启动jsonserver,用于模拟数据的请求和响应: ```bash json-server --watch db.json --port 4000 ``` 6. 创建一个db.json文件,用于存储上传成功的图片信息: ```json { "images": [] } ``` 现在,你就可以在Vue应用中使用这个上传组件,并将上传成功的图片信息存储到db.json文件中了。记得将图片保存路径修改为你想要存放的指定位置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值