如何用nodejs+express搭建一个简单的后台服务器?
Express框架
根据官方的介绍,Express是一个基于Node.js平台,快速、开放、极简的Web开发框架。
安装
Express是一个基于Node.js的平台,所以在安装Express之前,你得先确保你已经安装了Node.js。
打开命令行,输入node -v
可查看是否有安装node.js。
安装Express
首先,为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录。
E:\>mkdir myapp // 在E盘根目录下创建一个名为myapp的目录
E:\>cd myapp // 进入myapp目录
通过
npm init
命令为你的应用创建一个package.json
文件,该命令要求你输入几个参数,例如此应用的名称、版本号、描述、指定的入口文件,你可以直接按“回车”键接受大部分默认设置即可。
E:\myapp>npm init
我们打开生成的
package.json
文件,可以看到该文件里面的内容是一些项目的初始化信息。接下来在
myapp
目录下安装 Express
并将其保存到依赖列表中。在命令行中输入命令npm install express --save
E:\myapp>npm install express --save
注释:
安装Node
模块时,如果指定了--save
参数,那么此模块将会被添加到package.json
文件的dependencies
依赖列表中,然后通过npm install
命令可以自动安装dependencies
依赖列表中所有列出的模块。
Express
安装完成之后,你会发现,在我们创建的目录myapp
下面,多了一个node_modules
的文件夹和package-lock.json
文件,其中,node_modules
文件夹中用于存放刚刚安装的Express
所有需要用到的源码文件。
Express 应用程序生成器
通过应用生成器工具express-generator
可以快速创建一个应用的骨架。
express-generator 包含了 express 命令行工具。通过如下命令即可安装:
E:\>myapp>npm install express-generator --save
安装完成之后,我们打开
package.json
文件,可以看到在dependencies
依赖列表中增加了express-generator
。开始第一个Express项目
创建express
项目
在E盘根目录想创建一个project
文件夹,进入该文件夹,使用以下命令创建你的express
项目。
E:\>mkdir project // 在E盘根目录下创建一个project
E:\>cd project // 进入到project文件夹
E:\project>express myFirstExpressDemo //在project文件夹下创建一个名为myFirstExpressDemo的Express项目
此时,我们的第一个express
项目就创建好了。
打开创建的项目,使用命令
npm install
安装所有的依赖包。
E:\project>cd myFirstExpressDemo
E:\project>cd myFirstExpressDemo>npm install
我们使用
vscode
编辑器打开项目,看看各目录代表什么意思。bin:用于启动应用,可以在里面设置启动的端口号等,默认端口号为
3000
。public:静态资源文件夹。
routes:路由文件。相当于
mvc
中的controller
,默认创建的express项目包括index.js
和user.js
。views:视图文件。相当于
mvc
中的view
node_modules:存放所有依赖包的源码文件。
app.js:项目的入口文件。加载主要的依赖包,配置中间件,加载路由等等。
package.json:通过
npm init
命令创建,主要用来定义这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等)。npm install
命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。package-lock.json:在
npm install
时候自动生成,用以记录当前状态下实际安装的各个npm package
的具体来源和版本号。启动应用
在MacOS
或Linux
操作系统中,通过如下命令启动此应用:
$ DEBUG=myapp:* npm start
在Windows
操作系统中,通过如下命令启动此应用:
> set DEBUG=myapp:* & npm start 或者
> npm start
项目启动成功之后,我们在浏览器地址栏中输入http://localhost:3000
即可访问。
Express连接数据库
连接数据库之前,需先安装好MySQL
和Navicat
工具,具体怎么安装,可以看我的另外一篇文章:
Mysql与Navicat安装步骤图解!
进入创建好的Express
项目,输入命令npm install mysql --save-dev
,安装node.js的mysql
模块。
> npm install mysql --save-dev
在
routes
文件夹里面新建一个database.js
文件。
// database.js
// 连接Mysql
var mysql = require('mysql');
// 数据库连接配置
var pool = mysql.createPool({
host: 'localhost', // 数据库的地址
user: 'root', // 数据库用户名
password: '123456', // 数据库密码
database: 'express' // 数据库名称
})
// 对数据库进行增删改查操作的基础
function query(sql, callback) {
pool.getConnection((err, connection) => {
connection.query(sql, (err, rows) => {
callback(err, rows)
connection.release()
})
})
}
exports.query = query
在index.js
文件中
// index.js
var express = require('express')
var router = express.Router()
// 引入数据库配置文件
const db = require('./database')
// 获取数据库中的user表数据
router.get('/user', (err, res) => {
const sql = 'SELECT * FROM user';
db.query(sql, (err, result) => {
if(err){
return;
}
// res:API传数据
// result:返回的数据,需要转成JSON格式
res.json(result);
});
})
module.exports = router;
数据库中的user
表数据
使用
Postman
工具测试,返回的成功示例如下:写的不好,还请各位大神多多指正!