node学习(二)常见模块使用

node学习(二)常见模块使用

上一章我们了解到,node的web服务使用起来较为繁琐,这就需要外部的模块进行一部分的封装,简化我们的代码

1. express 处理请求

安装该模块

npm install express --save

我们来看官网的介绍:

Fast, unopinionated, minimalist web framework for node. // 快速,无偏见,最低限度的node网络框架。

const express = require('express')
const app = express() 
app.get('/', function (req, res) { 
	res.send('Hello World')
}) 
app.listen(3000)

可以看到,使用了express之后,我们可以直接使用其get方法来处理get请求。

同时,我们也可以指定静态资源的目录来处理所有的静态资源请求

app.use(express.static("static"));

2. body-parser 处理表单数据

node中不包含对请求body中的数据进行解析的api,所以需要借助第三方框架来解析

npm install body-parser
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false })); // 创建 aplication/x-www-form-urlencoded 的解析器
app.use(bodyParser.json())  // 创建 application/json 的解析器

配置完之后,我们使用 res.body 就能直接读取表单数据了

3. ejs模板引擎

当我们需要使用数据来渲染页面时,就需要一个模板引擎来生成动态的页面

ejs(Embedded JavaScript templates)是一种模板引擎,其语法和jsp类似:

npm install ejs

我们可以使用renderFile方法来渲染页面,并携带数据

ejs.renderFile('./views/inedx.ejs', {parm:parm}, (err, data) => {
    if (err) {
        console.log(err);
    }
    res.writeHead(200, {'Contend-Type': 'text/html;charset="utf-8"'});
    res.end(data);
});

在ejs文件中

可以使用如下标签来使用javascript语句:

<% %> \\ 执行js语句
<%= %> \\ 使用数据
<%- %> \\ 渲染为html标签

4. mysql数据库

同样,我们也可以在node中使用数据库,这里以mysql为例,以后会学习mongoDB

const mysql = require('mysql'); //导入mysql

const config = { //连接参数
    host: 'localhost',
    user: 'root',
    password: '123',
    database: 'myblog',
    multipleStatements: true
}
query:function (statement, callback) {
    connection = mysql.createConnection(config); // 创建链接
    connection.connect(); //链接
    connection.query(statement, function (error, results) { //执行查询
        if (error) {
            console.log(error)
        }
        callback(results); // 回调查询结果
        connection.end();  // 关闭查询
    });
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值