path模块
const path = require('path');
console.log(__dirname); //全局对象(C:\Users\77461\Desktop\练习)[当前路径]
//path获取
//1.basename():获取指定路径中的最后一部分
console.log(path.basename(__dirname)); //练习
//2.dirname():获取指定路径中除了basename以外的部分
console.log(path.dirname(__dirname)); //C:\Users\77461\Desktop
//3.extname() :获取指定路径对应的文件扩展名
console.log(path.extname(__dirname)); //后缀名
//path的组合
//4.join():路径的拼接(相对路径)
console.log(path.join('a','b','c')); //a\b\c
console.log(path.join('a','b','..','c')); //a\c
//5.resolve():路径的拼接(绝对路径)
console.log(path.resolve('a','b','..','c'));//C:\Users\77461\Desktop\练习\a\c
//path的拆分
//parse()
console.log(path.parse(__dirname));
/*
{
root: 'C:\\',
dir: 'C:\\Users\\77461\\Desktop',
base: '练习',
ext: '',
name: '练习'
}
*/
http模块
const http = require('http');
//request(req):请求对象,包含了请求相关的数据和方法等
//response(res):响应对象,包含了响应相关的数据和方法等
const app = http.createServer(function(req,res){ //创建服务器
res.write('hello'); //响应给前端的东西
res.end(); //响应结束
});
app.listen(3000);
// 端口(0-65535)
// 我们可以通过ip找到计算机,如果我们还想找到该计算机中的某一个应用程序,我们需要知道该应用程序所对应的端口号
http搭建简易服务器
const http = require('http');
const fs = require('fs');
//request(req):请求对象,包含了请求相关的数据和方法等
//response(res):响应对象,包含了响应相关的数据和方法等
const app = http.createServer(function(req,res){ //创建服务器
fs.readFile('./index.html','utf-8',(err,data) => {
res.write(data); //响应给前端的东西
res.end(); //响应结束
});
});
app.listen(3000,() => {console.log('3000端口启动成功')});
// 端口(0-65535)
// 我们可以通过ip找到计算机,如果我们还想找到该计算机中的某一个应用程序,我们需要知道该应用程序所对应的端口号
npm基本使用
npm:包管理器。用户可以从npm服务器上去下载别人编写的第三方包到本地使用;
用户可以将自己编写的包上传到npm服务器上供别人使用;
安装
不需要单独安装npm,在安装Node.js时,会将npm一同下载安装。
通过npm -v 查看当前npm的版本号。
基本使用
下载包局部安装(项目内下载)
npm install 包名称 --save
//简写
npm i 包名称 --save
全局安装
npm i 包名称 -g
下载项目所有依赖文件:npm -i
下载项目所有依赖包(根据package.json下载)
npm i
通过npm下载下来的所有包,都会放到node_modules文件中。
下载成功的第三方包,在后端中,都可以通过require('包名称')来引入使用。
package.json
每一个项目中,在项目根目录都应该有一个package.json文件,用来对当前项目进行说明、描述。包括:项目名称、项目版本、项目依赖文件...项目初始化:生成package.json文件。
npm init
所有信息都采用默认
npm init -y
删除包
在项目根目录中,通过以下命令来删除指定的包:npm uninstall 包名称
express
基于nodejs平台,快速、开放、极简的web开发框架。express是一个基于Nodejs的服务端框架。
express应用生成器
express应用程序生成器,名称:express-generator。它的作用是,可以帮助开发者快速创建一个express项目。全局安装express-generator
执行以下命令,来全局安装express应用程序生成器:express-generatornpm i express-generator -g
创建express项目
1.通过应用程序生成器来快速创建express项目:express 项目根目录名称
2.下载所有的依赖包
npm i
3.启动项目
npm start
4.访问项目
在浏览器中输入以下地址
localhost:3000
练习
登录前端<!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, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>用户登录</h1>
<input type="text" id="username">
<input type="text" id="password">
<button id="loginBtn">登录</button>
<script src="./javascripts/jquery.min.js"></script>
<script>
$('#loginBtn').click(function(){
const username = $('#username').val();
const password = $('#password').val();
$.ajax({
//设置前后端连接的接口
url:'/users/login',
//设置前端发送给后端的数据
data:{
username,
password
},
//用于请求类型,get、post(put、delete)
type:'post',
//请求成功后触发success方法,msg用于接收后端响应回来的结果
success(msg){
console.log(msg);
}
});
});
</script>
</body>
</html>
登录后端
在app.js中找到用于配置ajax请求的一级路径相对应的属性,然后找到对应routes里的路径,然后在该文件中进行操作
var express = require('express');
//后端路由,用于分配前端的请求
var router = express.Router();
/* GET users listing. */
router.post('/login', function(req, res, next) {
console.log('成功进入到登录接口后端');
//将后端处理结果响应(发送)给前端
res.send({message:'登录成功' , status:1});
});
module.exports = router;