当前位置: 首页 > 后端技术 > Node.js

4.1开发环境-目录结构-配置文件-功能化-博客后台Api-NodeJs+Express+Mysql实战

时间:2023-04-03 10:15:43 Node.js

从本章开始,正式学习如何使用Nodejs+Express+Mysql搭建博客。开发环境首先说一下开发环境安装的核心依赖版本:??Node.js:8.9.3Mysql:5.6.25Express:4.14.0目录准备mkdirblogNodejs//创建blog文件夹cdblogNodejs//进入blog目录npminit//initializationBlogEmptyproject然后根据提示填写一些项目初始化信息,然后回车创建成功目录Internationalizedjson-logs存放错误日志-middlewares存放中间件-models存放数据库文件-public存放静态文件,比如样式,图片等路由文件-services存放service文件-views存放模板文件(由于我们主要用express写后台api所以这个文件夹只作为备份)-app.js主入口文件-package.json存放项目名称、描述、作者、依赖等信息-readme.md项目介绍等。为了方便多处写代码,我放在了githubhttps://github.com/wangwenjie。..Installingdependentmodules为了避免安装版本和我描述的依赖版本不一致导致一些小错误;现在package.json可供大家下载,覆盖博客根目录对应的package.json。:用于密码md5加密(后面介绍)body-parser:设置body解析数据类型config-lite:配置文件(后面介绍)(可以有效区分开发dev、测试test、预启动st、官方产品环境)cors:设置跨域白名单(后面会介绍)debug:consoledebugejs:ejstemplatewinston:logexpress-winston:logmiddlewareforexpressbasedonwinstoni18n:i18n国际化jsonwebtoken:前后端-结束分离jwttoken(后面会介绍)morgan:开发模式下的logmulter:文件上传mysql:mysqlnode-schedule:定时任务schedule(后面会介绍)nodemailer:邮件服务(后面会介绍)sequelize:mysql框架(后面会介绍)underscore:js下的工具函数当前博客目录在控制台运行如下命令安装所需模块:npminstall如果有依赖需要qiangged,请使用cnpminstall配置文件不管是小项目还是大项目,分开是一个很好的做法从代码配置。我们通常将configure写成一个配置文件,比如config.js或者config.json,放在项目的根目录下。但是通常我们有很多环境,比如本地开发环境、测试环境、线上环境。不同的环境有不同的配置。我们不可能每次部署都要修改引用config.test.js或者config.production。js。config-lite模块正是您所需要的。--摘自nswbmw/N-blogconfig-lite是一个用于读取配置文件的轻量级模块。config-lite会根据环境变量(NODE_ENV)从当前执行进程目录下的config目录加载不同的配置文件。如果未设置NODE_ENV,则将读取默认的默认配置文件。如果设置了NODE_ENV,则指定的配置文件和默认配置文件将合并为配置。config-lite支持.js、.json、.node、.yml、.yaml后缀。如果程序以NODE_ENV=testnodeapp开头,config-lite会降级以查找config/test.js、config/test.json、config/test.node、config/test.yml、config/test.yaml和合并默认配置;如果程序以NODE_ENV=productionnodeapp开头,config-lite会降级寻找config/production.js、config/production.json、config/production.node、config/production.yml、config/production.yaml并合并默认配置。在blogNodejs/config目录下新建default.js,添加如下代码:config/default.jsmodule.exports={env:"dev",//currentenvironmentmysql:{//mysqldatabasehost:'127.0.0.1',user:'root',//你安装的数据库的用户名password:'root',//你安装的mysql数据库的密码database:'blog',//数据库端口:3306,//端口},};配置定义:1.env:当前环境,方便后期业务判断。2.mysql:整理博客系统的数据库连接配置功能。不想弄得太复杂,所以只实现了基本的功能。看完教程可以自己扩展