一、首先,肯定是安装MYSQL、NODE.JS,其实这两个东西都可以通过下载解压,手动配置好环境变量就可以直接使用了。也就是推荐下载.zip文件,不推荐下载.msi直接安装。
二、再就是node.js的相关升级,以及npm、mysql驱动,按照菜鸟教程的步骤去试就可以了。
三、mysql刚开始可以匿名登陆,但是最好把匿名登陆的帐号删掉,做法是通过
mysql -u root -p,回车登陆以后
use mysql;切换database
select user,password from user;可以看到有三个root账户和一个空账户(即匿名用户)
delete from user where user ='';删掉匿名用户
update user set password = password('1234') where user='root';将密码修改为1234
记住要flush privileges;不然要重启才能看见或使用修改后的数据。
搭建简单项目:
1.在node_modules同级目录下建一个文件夹,D:\nodejs\personal ,在这个文件夹下
建这么几个文件,
login.js代码:
/**
* Created by linziyu on 2017/7/8.
*/
/**
* express接收htm传递的参数
*/
var express=require('express');
var app=express();
var mysql=require('mysql');
/**
* 配置MySql
*/
var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : '1234',
database : 'yan1',
port:'3306'
});
connection.connect();
app.get('/',function (req,res) {
res.sendfile(__dirname + "/" + "index.htm" );
})
/**
* 实现登录验证功能
*/
app.get('/login',function (req,res) {
var name=req.query.name;
var pwd=req.query.pwd;
var selectSQL = "select * from user where uname = '"+name+"' and pwd = '"+pwd+"'";
connection.query(selectSQL,function (err,rs) {
if (err) throw err;
console.log(rs);
console.log('OK');
if(rs[0]==undefined){
res.sendfile(__dirname + "/" + "notOK.htm" );
}else{
res.sendfile(__dirname + "/" + "OK.htm" );
}
})
})
app.get('/register.htm',function (req,res) {
res.sendfile(__dirname+"/"+"register.htm");
})
/**
* 实现注册功能
*/
app.get('/register',function (req,res) {
var name=req.query.name;
var pwd=req.query.pwd;
var user={uname:name,pwd:pwd};
connection.query('insert into user set ?',user,function (err,rs) {
if (err) throw err;
console.log('ok');
res.sendfile(__dirname + "/" + "index.htm" );
})
})
var server=app.listen(7744,function () {
console.log("start");
})
index.htm代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="http://127.0.0.1:7744/login">
<input type="text" name="name"/>
<input type="text" name="pwd"/>
<input type="submit" value="commit"/>
</form>
<a href="register.htm" rel="external nofollow" >register</a>
</body>
</html>
register.htm代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="http://127.0.0.1:7744/register">
<input type="text" name="name"/>
<input type="text" name="pwd"/>
<input type="submit" value="commit"/>
</form>
</body>
</html>
notOK.htm代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
This user is not exist!
</body>
</html>
OK.htm代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
Login success!
</body>
</html>
然后启动 node login.js,登陆网址 http://127.0.0.1:7744/ 就可以观察了。
补充:可以改成使用post方式提交,只需要改提交方式并且加一个
var bodyParser = require('body-parser');
// 创建 application/x-www-form-urlencoded 编码解析
var urlencodedParser = bodyParser.urlencoded({ extended: false })
即可,使用req.body.name;的方式来获取数据,菜鸟教程 Express框架那章有讲。
Web博客:Hexo(node.js的应用)
Hexo 是一个简单地、轻量地、基于Node的一个静态博客框架。通过Hexo我们可以快速创建自己的博客,仅需要几条命令就可以完成。
发布时,Hexo可以部署在自己的Node服务器上面,也可以部署github上面。对于个人用户来说,部署在github上好处颇多,不仅可以省 去服务器的成本,还可以减少各种系统运维的麻烦事(系统管理、备份、网络)。所以,基于github的个人站点,正在开始流行起来….