一、什么是node.js?
它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript
二、安装
1、node.js的特性:
- 非阻塞IO模型
- 时间驱动
2、运用的场景:
- 高并发低业务
- 实时场景
- 聊天、电子商务、视频直播等
3、安装地址:
http://nodejs.cn/
判断是否安装成功 node -v
进入编辑状态:node 回车,可以进行一些运算
退出编辑模式:ctrl d或者ctrl c两次
4、npm是一个包管理器,其实是一个命令。使用它来安装或者卸载包
首先进行项目初始化:npm init (快速初始化:npm init -y),会生成文件:package.json
npm install 包的名字 --save-dev
npm install express --save-dev:吧依赖包增加到开发环境下
npm install express
npm install express --save :吧依赖包增加到运行环境下
三、简单使用
模板化开发:
stu.js
var man="海燕";
module.exports = man; //对外开放接口
console.log(man);
stu2.js
var temps = require("./stu.js"); //引用文件,在js文件中加个./代表是同级目录
console.log(temps);
那么如何执行文件呢? node b.js =====》node 文件名
四、用node.js简单的做一个登录
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<title>Title</title>
<script src="jquery.js"></script>
<style>
span{
color: red;
}
</style>
</head>
<body>
<div>
<form action="" method="post">
<p>用户名:<input type="text" placeholder="username" id="username"></p>
<p>密码:<input type="password" placeholder="password" id="password"></p>
<input type="submit" value="提交" onclick="login()">
<span></span>
</form>
</div>
<script>
function login() {
var username = $("#username").val();
var password = $("#password").val();
var url = "http://localhost:8080/login";
console.log(username,password);
$.post(url, {username,password}, function (response) {
console.log(response);
if (response){
$("span").html("登陆成功")
}else{
$("span").html("登录失败")
}
})
}
</script>
</body>
</html>
server.js
var express = require("express"); //引用包
var query = require("querystring");
var app = express(); //初始化
app.listen("8080",function () { //监听
console.log("服务已经启动,端口是8080")
});
var data2="";
app.post(
'/login',
function (request,response) {
response.header("Access-Control-Allow-Origin", "*");
request.on("data",function (datas) { //接收用户发来的数据,里面的data是不变的,就得叫data
data2 = "";
// console.log(datas) ; //<Buffer 75 73 65 72 6e 61 6d 65 3d 26 70 61 73 73 77 6f 72 64 3d
// >这样打印的结果是Buffer 类型的,所以我们得拼接一下,用querystring这个模块转成字符串
data2 =datas;
});
request.on("end",function () { //接收用户发来的数据之后开始解析
console.log(query.parse(data2)); //{ username: '海燕', password: '123' }
var username = query.parse(data2).username;
var password = query.parse(data2).password;
if (username == "海燕" && password == "123"){
response.send(true)//如果登录成功就把数据返回给前端
}else{
response.send(false)
}
})
}
);
注意:启动的时候 ===>node server.js