Node.JS(2)

81 阅读3分钟

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-generator
npm 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;