当前位置: 首页 > news >正文

后端Node学习项目-项目基础搭建

前言

各位好,我是前端SkyRain。最近为了响应公司号召,开始对后端知识的学习,作为纯粹小白,记录下每一步的操作流程。
项目仓库:https://gitee.com/sky-rain-drht/drht-node
因为写了文档,代码里注释不是很多,可以结合理解

初始化文件夹

创建文件夹

  • 在合适的位置创建一个文件夹,作为项目代码本地仓库

node初始化

执行命令
npm init -y
执行结果

在这里插入图片描述

Git初始化

执行命令
git init
执行结果

在这里插入图片描述

安装依赖

执行命令
yarn add ip 
yarn add koa 
yarn add koa-bodyparser
yarn add koa-router
yarn add mysql2
yarn add nodemon
yarn add sequelize
依赖说明
ip

用于获取服务器地址信息

koa

node的后端框架之一

koa-bodyparser

用于解析接口请求传递的参数

koa-router

与koa框架配合的路由库

mysql2

mysql数据库

nodemon

用来启动node服务

sequelize

mysql数据的关系映射库

启动服务配置

配置文件

为了保持未来的配置内容进行扩展,所以各自定义后导出

创建配置文件夹
  • 根目录下创建config文件夹
  • 在config文件夹下创建index.js
创建启动配置

config/index.js

const ip = require('ip');
// 运行配置
const serverSetting = {ipAddress: ip.address(), // 服务器ipport: 3000, // 服务器端口proxy: 'api' // 代理名称
}
module.exports = {serverSetting
}

启动类文件

创建启动类文件

app.js

const Koa = require('koa');
const { serverSetting } = require('./config');const app = new Koa();app.listen(serverSetting.port, () => {console.log(`server is running at http://${serverSetting.ipAddress}:${serverSetting.port}/${serverSetting.proxy}`)
})
创建启动命令

在package.json中创建启动命令

"scripts": {"dev": "nodemon app.js","test": "echo \"Error: no test specified\" && exit 1"
},

至此,可以运行命令看看服务能不能跑起来!

数据库配置

数据库信息配置

config/index.js

// 数据库配置
const dbSetting = {host: 'localhost', // 数据库ipport: 3306, // 数据库端口username: 'root', // 数据库用户名password: 'skyrain', // 数据库密码database: 'drht' // 数据库名称
}
module.exports = {...,dbSetting
}

数据库连接

创建连接文件
  • 在根目录下创建models文件夹
  • 在models文件夹下创建index.js
连接信息内容

models/index.js

const { Sequelize } = require('sequelize');
const { dbSetting } = require('../config/index')const sequelize = new Sequelize(dbSetting.database,dbSetting.username,dbSetting.password,{host: dbSetting.host,port: dbSetting.port,dialect: 'mysql',logging: false,timezone: '+08:00',pool: {max: 5, // 连接池最大连接数量min: 0,idle: 10000, // 如果一个线程在10秒内没有被使用过就释放掉},define: {timestamps: true, // 自动带上更新时间和修改时间freezeTableName: true   // 冻结表名,否则同步时会自动加s}}
)
sequelize.sync({force: false
})
// // 测试是否连接成功
// sequelize
//   .authenticate()
//   .then(() => {
//     console.log('数据库连接成功');
//   })
//   .catch(err => {
//     console.log('数据库连接失败', err);
//   })
module.exports = { db: sequelize }
http://www.lryc.cn/news/479672.html

相关文章:

  • Python | Leetcode Python题解之第538题把二叉搜索树转换为累加树
  • 【ZeroMQ 】ZeroMQ中inproc优势有哪些?与其它传输协议有哪些不同?
  • spark的学习-03
  • 一文了解Android SELinux
  • 数据血缘追踪是如何在ETL过程中发挥作用?
  • 跟我学C++中级篇——生产中如何调试程序
  • Python爬虫实战 | 爬取网易云音乐热歌榜单
  • apk因检测是否使用代理无法抓包绕过方式
  • DevOps业务价值流:架构设计最佳实践
  • 计算机网络——SDN
  • 开源数据库 - mysql - innodb源码阅读 - master线程(一)
  • vscode ssh连接autodl失败
  • 文件系统和日志管理 附实验:远程访问第一台虚拟机日志
  • 云上拼团GO指南——腾讯云博客部署案例,双11欢乐GO
  • 【VScode】VScode内的ChatGPT插件——CodeMoss全解析与实用教程
  • 水库大坝安全监测预警方法
  • 深度学习:微调(Fine-tuning)详解
  • qt QWebSocketServer详解
  • 【数据结构】线性表——链表
  • Fork突然报错
  • Vue Element-UI 选择隐藏表格中的局部字段信息
  • easyui +vue v-slot 注意事项
  • vue之组件网站(后续补)
  • 大模型的常用指令格式 --> ShareGPT 和 Alpaca (以 llama-factory 里的设置为例)
  • 【论文阅读】火星语义分割的半监督学习
  • ACM社团第一次测试题解(禁止直接复制粘贴提交)
  • redis:zset有序集合命令和内部编码
  • Day107:代码审计-PHP模型开发篇MVC层RCE执行文件对比法1day分析0day验证
  • Web服务nginx实验1访问特定目录
  • 数据结构之二叉树前序,中序,后序习题分析(递归图)