express初步使用

240 阅读2分钟

这里使用的是express生成器,这样可以快速的生成一个express模板.(在 快速入门 的 Expresss生成器 中)

1.安装express

npm install express-generator -g --registry=https://registry.npm.taobao.org

express -h, --version //查看express版本

2.创建一个应用

这里使用的ejs模板引擎

express --view=ejs test

使用的ejs模板引擎并添加.gitignore

express --view=ejs --git test//

cd test1

npm install --registry=https://registry.npm.taobao.org

在安装完了所有的依赖项之后,我们就可以使用下面的命令来启动这个应用了:

set DEBUG=test1:* & npm start

这里 set DEBUG=test1:* & npm start就可以来启动了,而前者是说启动debug模块,打印一些debug日志方便我们管理后台。 注意:和*之间有空格和没有空格是不同的。 这里使用的没有空格。

另外,如果不希望使用debug模块,像下面这样就可以启动了。

npm start

然后在浏览器中打开 http://localhost:3000/ 网址就可以看到这个应用了。

3.连接数据库

npm install mysql -S --registry=https://registry.npm.taobao.org

在app.js中

var mysql = require('mysql');
// 连接数据库
var db = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  user: 'root',
  password: '',
  database: 'admin'
});
db.connect();

sql简单语句:

//查询表所有数据
select * from user;
//查询表长度
select count(*) from user;
//根据条件查询
SELECT * FROM user WHERE name = 'zhangsan' AND password = '123456'
//新增
insert into user (name, password) values('wanglaosi', '123456')
//编辑
UPDATE user SET name='zhanglaoshi', password='321654' WHERE id = 18
//删除
DELETE FROM user WHERE id=18
//分页查询 --> 从第十条(不包括这条)开始查询5条数据
select * from user order by id limit 10,5;

3.简单接口

在routes文件下的index.js里写接口,具体接口路径还要看这个js文件在app.js里配置的路径(app.js里配置的路径在加上接口文件里的路径).

<!--index,js在app.js的路径是:-->
var indexRouter = require('./routes/index');
app.use('/', indexRouter);

index.js如下:

<!--这个接口路径是/api/login-->
router.post('/api/login', function(req, res, next) {
  	var name = req.body.name;
  	var password = req.body.password;
    if(!name || !password){
      res.send({code: -2,msg: '账号密码不能为空'})
    }
  	var sql = "SELECT * FROM user WHERE name = '"+name+"' AND password = "+password;
  	db.query(sql,function (err,data) {
        if (err) {
            console.log('获取错误');
            res.status(500);
            res.send("数据库错误"+err);
        } else {
            res.send({code: 0,data: data})
        }
    });
});

<!--这个接口路径是/api/addUser-->
router.get('/api/addUser', function(req, res, next) {
  	var sql = "insert into user (name, password) values('" + req.query.name + "', '" + req.query.password + "')"
  	db.query(sql,function (err,data) {
        if (err) {
            console.log('获取错误');
            res.status(500);
            res.send("数据库错误"+err);
        } else {
            res.send({code: 0,data: data})
        }
    });
});

注意: get请求的请求参数在req.query下,而post的请求参数在req.body下

node.js之热更新重启nodemon(避免每次修改代码都重启)

npm install nodemon -D

在根目录下创建nodemon.json

{
    "restartable": "rs",
    "ignore": [
        ".git",
        ".svn",
        "node_modules/**/node_modules"
    ],
    "verbose": true,
    "execMap": {
        "js": "node --harmony"
    },
    "watch": [
 
    ],
    "env": {
        "NODE_ENV": "development"
    },
    "ext": "js json"
}

修改package.json

 <!--修改之前-->
 "scripts": {
    "start": "node ./bin/www"
  },
 <!--修改之后-->
 "scripts": {
    "start": "nodemon ./bin/www"
 },

这样就可以了,npm start启动项目后,每次修改代码后刷新下就可以了