likes
comments
collection
share

如何用Nodejs+Express搭建一个简单的后台服务器?

作者站长头像
站长
· 阅读数 23

Express框架

根据官方的介绍,Express是一个基于Node.js平台,快速、开放、极简的Web开发框架。

安装

Express是一个基于Node.js的平台,所以在安装Express之前,你得先确保你已经安装了Node.js。 打开命令行,输入node -v可查看是否有安装node.js。

如何用Nodejs+Express搭建一个简单的后台服务器?

安装Express

首先,为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录。

E:>mkdir myapp    // 在E盘根目录下创建一个名为myapp的目录
E:>cd myapp       // 进入myapp目录

如何用Nodejs+Express搭建一个简单的后台服务器?

通过npm init命令为你的应用创建一个package.json文件,该命令要求你输入几个参数,例如此应用的名称、版本号、描述、指定的入口文件,你可以直接按回车键接受大部分默认设置即可。

E:\myapp>npm init

如何用Nodejs+Express搭建一个简单的后台服务器?

我们打开生成的package.json文件,可以看到该文件里面的内容是一些项目的初始化信息。

如何用Nodejs+Express搭建一个简单的后台服务器?

接下来在myapp目录下安装 Express并将其保存到依赖列表中。在命令行中输入命令npm install express --save

E:\myapp>npm install express --save

如何用Nodejs+Express搭建一个简单的后台服务器?

注释: 安装Node模块时,如果指定了--save参数,那么此模块将会被添加到package.json文件的dependencies依赖列表中,然后通过npm install命令可以自动安装dependencies依赖列表中所有列出的模块。

Express安装完成之后,你会发现,在我们创建的目录myapp下面,多了一个node_modules的文件夹和package-lock.json文件,其中,node_modules文件夹中用于存放刚刚安装的Express所有需要用到的源码文件。

如何用Nodejs+Express搭建一个简单的后台服务器?

Express 应用程序生成器

通过应用生成器工具express-generator可以快速创建一个应用的骨架。 express-generator 包含了 express 命令行工具。通过如下命令即可安装:

E:>myapp>npm install express-generator --save

如何用Nodejs+Express搭建一个简单的后台服务器?

安装完成之后,我们打开package.json文件,可以看到在dependencies依赖列表中增加了express-generator

如何用Nodejs+Express搭建一个简单的后台服务器?

开始第一个Express项目

创建express项目

在E盘根目录想创建一个project文件夹,进入该文件夹,使用以下命令创建你的express项目。

E:>mkdir project      // 在E盘根目录下创建一个project
E:>cd project         // 进入到project文件夹
E:\project>express myFirstExpressDemo    //在project文件夹下创建一个名为myFirstExpressDemo的Express项目    

此时,我们的第一个express项目就创建好了。

如何用Nodejs+Express搭建一个简单的后台服务器? 打开创建的项目,使用命令npm install安装所有的依赖包。

E:\project>cd myFirstExpressDemo
E:\project>cd myFirstExpressDemo>npm install

如何用Nodejs+Express搭建一个简单的后台服务器?

我们使用vscode编辑器打开项目,看看各目录代表什么意思。 bin:用于启动应用,可以在里面设置启动的端口号等,默认端口号为3000public:静态资源文件夹。 routes:路由文件。相当于mvc中的controller,默认创建的express项目包括index.jsuser.jsviews:视图文件。相当于mvc中的viewnode_modules:存放所有依赖包的源码文件。 app.js:项目的入口文件。加载主要的依赖包,配置中间件,加载路由等等。 package.json:通过npm init命令创建,主要用来定义这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。 package-lock.json:在npm install时候自动生成,用以记录当前状态下实际安装的各个npm package的具体来源和版本号。

如何用Nodejs+Express搭建一个简单的后台服务器?

启动应用

MacOSLinux操作系统中,通过如下命令启动此应用:

$ DEBUG=myapp:* npm start

Windows操作系统中,通过如下命令启动此应用:

> set DEBUG=myapp:* & npm start  或者
> npm start

项目启动成功之后,我们在浏览器地址栏中输入http://localhost:3000即可访问。

如何用Nodejs+Express搭建一个简单的后台服务器?

Express连接数据库

连接数据库之前,需先安装好MySQLNavicat工具。 进入创建好的Express项目,输入命令npm install mysql --save-dev,安装node.js的mysql模块。

> npm install mysql --save-dev 

如何用Nodejs+Express搭建一个简单的后台服务器?

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表数据

如何用Nodejs+Express搭建一个简单的后台服务器?

使用Postman工具测试,返回的成功示例如下:

如何用Nodejs+Express搭建一个简单的后台服务器?

写的不好,还请各位大神多多指正!