一nodejs的简介
Node.js是运行在服务端的javaScrips Node.js是一个基于Chrome javaScrip运行时建立的一个平台. 是一个事件
驱动I/o服务端的JavaScript环境
二 Nodejs的安装
下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi
下载完成后进行点击安装
检验是否安装成功
打开终端 输入node -v
nodejs 的使用注册登录
get请求
创建一个文件夹 注意文件夹的名字不要大写也不要中文
在终端中打开文件路径输入npm init 创建配置信息 所有的信息都可以忽略
配置文件信息如下:
创建一个静态文件夹例如public example 在里面创建文件index.html
<body>
<!-- action 表示提交到的接口api/加上接口名 -->
<form action="/book">
<input type="submit" value="提交信息">
</form>
</body>
静态文件夹下面创建一个文件index.js 里面为服务器代码并且下载所有的依赖项 npm inatall exprss
var express = require('express')
var web = express()
web.use(express.static('public'))
web.get('/book',function(req,res){
res.send('<h1>大话西游</h1>')
})
web.listen('8080',function(){
console.log('服务器启动......')
})
引入express模块
表示安装成功
express为数据请求基础模块 如果发生数据请求 那么一定要使用这个模块
var express = require('express') require引入express模块
var web = express() 创建模块的实例化对象
web.use(express.static('public'))让web对象使用工程的静态资源public文件夹
get 方法的使用
web.get('/book',function(req,res){
res.send('<h1>大话西游</h1>')
})
get方法后面追加两个参数 参数1 请求的接口 参数2 回调函数
回掉函数里面有两个参数 参数1 前端向后端传的值 参数2 后端向前端传的值
web.listen('8080',function(){
console.log('服务器启动......')
})
监听 让程序监听8080端口
注册和登录
前端请求代码
<body>
<form action="/regist">
<h1>regist</h1>
<label for="">账号:</label>
<input name="user" type="text" placeholder="请输入账号">
<br>
<label for="">密码:</label>
<input name="psw" type="password" placeholder="请输入密码">
<br>
<label for="">重复密码:</label>
<input name="pswa" type="password" placeholder="请重复密码">
<br>
<input type="submit" value="注册">
</form>
<br>
<hr>
<br>
<form action="/login" method="POST">
<h1>login</h1>
<label for="">账号</label>
<input name="user" type="text" placeholder="请输入账号">
<br>
<label for="">密码</label>
<input name="password" type="password" placeholder="请输入密码">
<br>
<input type="submit" value="登陆">
</form>
</body>
</html>
后台服务器代码
var express = require('express')
// post请求方式会将参数放在请求体重 所以需要引入body-parser 模块
var bodyParser = require('body-parser')
var web = express()
web.use(express.static('public'))
var account = ''
var psw = ''
// 设置对url进行编码 并且不允许url进行扩展
// 如果设置为false那么参数只能为数组或者字符串
// 如果为true那么参数为任意类型
web.use(bodyParser.urlencoded({ extended: false }))
web.post('/login', function (req, res) {
name = req.body.user
password = req.body.password
if (name == account && password == psw) {
res.send('恭喜你登陆成功')
}
else{
res.send('登陆失败,请检查账号或者密码')
}
})
web.get('/regist', function (req, res) {
var user = req.query.user
var password = req.query.psw
var password2 = req.query.pswa
if (user != account && password == password2) {
account = user
psw = password
res.send('恭喜注册成功: 账号是' + user + '密码是' + password + ',请妥善保管')
}
else {
res.send('注册失败,账号已经注册 或者密码不一致')
}
console.log(password)
console.log(password2)
})
web.listen('8080', function () {
console.log('服务器启动......')
})
post请求会将请求的参数放在请求体中 所以需要引入body-parser 模块
web.use(bodyParser.urlencoded({ extended: false }))
设置对url进行编码 并且不允许url进行扩展 如果设置为false那么参数只能够为数组或者字符串
如果为true参数可以为任意类型
注意:如果修改服务器代码 需要重启服务器
同一个服务器程序不能够在多个终端启动