Node.js 简单来说,就是运行在服务端的 JavaScript。它是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
接下来就简单介绍一下 node.js 的安装步骤(菜鸟教程 :http://www.runoob.com/nodejs/nodejs-tutorial.html)。
下载地址:https://nodejs.org/en/download/
安装过程很简单,运行安装包后,直接点击下一步即可。
完成安装后,打开cmd窗口,输入命令: node -v 或者 node --version 显示 如下,即为安装成功:
安装成功后,注销或者重启电脑 否则跟随node一起安装的npm不会生效!!!
4.创建一个文件夹(注意:文件夹名字不要含有 中文以及大写),然后在终端打开文件夹路径,输入命令:npm init 配置项目信息。
5.项目的所有配置信息都可直接 回车 忽略掉(可在新生成的 package.json文件中进行更改)
6.然后 ,创建一个静态文件夹 ,例如 public ,在该文件夹下创建一个文件 index.html(进行前端设置)
7.之后,在项目文件夹下重新创建一个 index.js 文件,里面为服务端的代码,并且下载所有依赖项(例如 node install express)层级关系如下图:
8. 下载 node install express:直接打开终端,然后输入命令:node install express 即可自动下载;如若出现下图错误:
则,依次输入 (1):npm config set registry http://registry.cnpmjs.org 以及 (2):npm info underscore 命令,然后,再次输入: node install express 命令即可下载。如下图:
启动服务器命令: node index
注意:1.一旦修改服务端代码,则需重新启动服务器 2.同一个服务器程序,不能在多个终端启动,否则会报错:
Error: listen EADDRINUSE :::8080 (原因:端口被占)
二、简单应用
1.首先,在 index.html 文件中,进行前端配置:
<body>
<!-- action 提交到的接口 api -->
<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>
<!-- method="POST" 使用post方法 -->
<form action="/login" method="POST">
<h1>login</h1>
<label for="">账号:</label>
<input name="user" type="text" placeholder="请输入账号">
<br>
<label for="">密码:</label>
<input type="password" placeholder="请输入密码" name="password">
<br>
<input type="submit" value="登录">
</form>
</body>
之后,确保下载完 所有依赖项后(例如:node install express),在 index.js 文件中进行 服务端配置:
// 引入express模块 express模块为数据请求基础模块
// 如果发生数据请求 那么一定需要使用这个模块
var express = require('express')
// post请求方式 会将参数放入到请求体当中
// 所以需要引入解析请求体的模块 body-parser
var bodyParser = require('body-parser')
// 创建模块的一个实例化对象
var web = express()
// static 静态
// 让web对象使用工程中的静态资源 public文件夹
web.use(express.static('public'))
// 设置对url进行编码 并且不允许url进行扩展
// 如果设置为false 那么参数只能为数组或者字符串
// 如果设置为true 那么参数为任意类型
web.use(bodyParser.urlencoded({extended:false}))
// 存储注册成功以后的账号密码
var account = ''
var psw = ''
// get 表示使用get方法
// 方法后面追加两个参数
// 参数1:请求的接口
// 参数2:回调函数 回调函数里面有两个参数
// 参数1:前端从后端传的值 request
// 参数2:后端往前端传的值 response
web.get('/regist',function(req , res){
var password = req.query.psw
var password2 = req.query.pswa
var user = req.query.user
if(user != account && password == password2)
{
account = user
psw = password
res.send('恭喜注册成功!账号是' + user + '密码是' + password + '请妥善保管')
}
else{
res.send('注册失败,账号已经被注册或者密码不一致')
}
console.log(password)
console.log(password2)
})
web.post('/login',function(req , res){
name = req.body.user
password =req.body.password
if(name == account && password == psw)
{
res.send('恭喜登录成功')
}
else{
res.send('登录失败,请检查账号和密码')
}
})
// 让程序监听8080端口
web.listen('8080',function(){
console.log('服务器启动.......')
})
然后,打开打开终端下的文件夹路径,输入命令:node index 启动服务器,之后打开浏览器进行操作即可。
终止服务端 :ctrl + c