1、使用express创建简单web服务器
项目文件下安装express,这个不多说,很简单,直接在项目目录下运行
npm install express
在项目目录下创建app.js文件,代码如下
var express = require('express); //引入express模块
var app = express(); //创建express的实例
app.get('/', function(req, res){
res.send('Hello,myServer'); //服务器响应请求
});
app.listen(3000,function(){ //监听3000端口
console.log("Server running at 3000 port");
});
项目目录下运行
node app.js
可以看到结果
打开浏览器访问:
http://localhost:3000/
2、添加数据库,连接到数据库并在console中输出
此处参考菜鸟教程:
菜鸟教程
利用菜鸟教程中的示例数据库,导入到本地数据库连接中,如图
对app.js中的代码进行修改
var express = require('express'); //引入express模块
var mysql = require('mysql'); //引入mysql模块
var app = express(); //创建express的实例
var connection = mysql.createConnection({ //创建mysql实例
host:'127.0.0.1',
port:'3306',
user:'root',
password:'root',
database:'myserver'
});
connection.connect();
var sql = 'SELECT * FROM websites';
connection.query(sql, function (err,result) {
if(err){
console.log('[SELECT ERROR]:',err.message);
}
console.log(result); //数据库查询结果返回到result中
});
app.get('/',function (req,res) {
res.send('Hello,myServer'); 服务器响应请求
});
connection.end();
app.listen(3000,function () { 监听3000端口
console.log('Server running at 3000 port');
});
此时再运行node app.js时会发现数据库查询数据返回到console中
web页面上访问仍然没有变化
3、将数据库的数据返回到web页面上,通过访问浏览器能看到数据库返回结果
再对app.js进行修改,然后运行node app.js
var express = require('express'); //引入express模块
var mysql = require('mysql'); //引入mysql模块
var app = express(); //创建express的实例
var connection = mysql.createConnection({ //创建mysql实例
host:'127.0.0.1',
port:'3306',
user:'root',
password:'root',
database:'myserver'
});
connection.connect();
var sql = 'SELECT * FROM websites';
var str = " ";
connection.query(sql, function (err,result) {
if(err){
console.log('[SELECT ERROR]:',err.message);
}
str = JSON.stringify(result);
//数据库查询的数据保存在result中,但浏览器并不能直接读取result中的结果,因此需要用JSON进行解析
//console.log(result); //数据库查询结果返回到result中
console.log(str);
});
app.get('/',function (req,res) {
res.send(str); //服务器响应请求
});
connection.end();
app.listen(3000,function () { 监听3000端口
console.log('Server running at 3000 port');
});
可以看到console的输出信息,将数据库中RowDataPacket解析成了JSON对象
再次打开浏览器
至此,实际上就已经完成了nodejs+express+mysql的最简单的开发,省去了繁琐的路由,如果想让页面更美观,使用Ext或者CSS去写页面都可以,这里不再赘述。