这里使用的是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启动项目后,每次修改代码后刷新下就可以了