Node.js初学者指南:搭建HTTP服务器、获取请求信息及响应、变量声明与NPM包管理

精神畅快,心气平和;饮食有节,寒暖当心;起居以时,劳逸均匀

文章目录

node.js
  • 概念
    • node.js是一个基于Chrome v8引擎的Javascript运行环境
      • 浏览器是javascript的前端运行环境
      • node.js是javascript的后端运行环境
      • node.js中无法调用DOM和BOM等浏览器内置API
  • 作用
  • 使用
    • 使用快捷键window + R打开运行面板,输入cmd后直接回车,即可打开终端
    • 打开终端,在终端输入命令node-v后,按下回车键,即可查看已安装的node.js的版本号
    • 使用 ↑ 键,可以快速定位到上一次执行的命令
    • 使用tab键,能够快速补全路径
    • 使用esc键,能够快速清空当前已输入的命令
    • 输入cls命令,可以清空终端
  • fs文件系模块
    • 如果要在javascript代码中使用fs模块来操作文件,则需要使用如下方式先导入他
      • const fs = require('fs')
      • fs.readFile() 用来读取指定文件中的内容
      • fs.writeFile() 用来指定的文件中写入内容
      • fs.readdir() 用来读取指定目录下所有文件的名称
    • http模块:用来创建web服务器客户端 的模块
      • 如果要在javascriptjavascript代码中使用http模块,则需要先导入他
        • const http = require('http')
        • http.createServer() 用来创建一个web服务器,从而对外提供web资源
        • http.request() 用来发起http网络请求,请求其它web服务器上的资源
使用http搭建服务器的问题
  • 如果代码更改了,则需要重新启动服务器,代码才会生效
    • ctrl + c,先终止服务
    • 再次执行node xxx.js重新启动服务器即可
  • vscode终端使用的问题
获取请求相关的信息
javascript 复制代码
server.on('request', function (req) {
    // req是一个对象,表示请求相关的信息,是根据http.IncomingMessage类得来的
    // req.method : 请求的方式 GET或POST
    // req.url:请求的url
    // req.headers:请求头
    console.log('请求方式是: ' + req.method + ',请求的url是:' + req.url)
    // console.log('请求已收到')
})
得到请求相关的信息之后,方便服务器做出判断
响应相关的信息
javascript 复制代码
server.on('request', function (req, res) {
    // 所有和请求相关的信息,都是通过req(request:请求)对象获取的
    // 所有和相应相关的信息,都通过res(response:响应)来完成
    // console.log(res instanceof http.ServerResponse)
    // res.end();  用于做出响应
    // res.setHeader(name,value) 设置响应头
    // res.statusCode  设置响应状态码
    // res.writeHead(状态码,{响应头})

    // 告诉浏览器,响应的数据是什么类型,什么编码
    // res.setHeader('Content-Type', 'text/html;charset=utf-8')
    res.writeHead(200, {
        'Content-Type': 'text/html;charset=utf-8',
        'Author':'tiantian',  // 值不能用中文
    })
    res.end('hello,浏览器,你的请求我收到了,这是给你的回应')
})
var、let、const对比
  • let是声明变量的,如果一个值允许他变化,则使用let
  • 如果不希望一个标识的值呗改变,则使用const
初始值 更改值 重新声明 变量提升 块级作用域 window调用
var 可有可无 ×
let 可有可无 × × ×
const 必须有 × × × ×
npm使用
  • npm这个工具,在安装node的时候,就已经安装到计算机了
  • 命令行中执行 npm -v,如果看到版本号,说明安装成功
  • 作用:管理node模块的工具
  • 初始化 (在使用npm工具之前,必须先初始化)
    • npm init -y
    • npm init
  • 安装 (下载安装第三方模块)
    • `npm install``
    • npm i 模块名
  • 更改镜像源
    • 查看镜像源 (下载包的地址) npm config getregistry
    • 全局更改镜像源 npm config setregistry
  • 下载的项目模块只能在当前项目文件夹及其后代文件夹中使用
全局安装包
  • 全局安装的模块,不能通过require()加载使用
  • 安装一个全局模块,名字叫nodemon
    • npm i nodemon -g
  • nodemon作用:代替node命令,启动服务的,当更改代码之后,nodemon会自动帮我们重启服务
    • 运行nodemon,如果报错如下
      • 解决办法是
        • 管理员方式,打开命令行窗口
        • 执行 set-ExecutionPolicyRemoteSigned
        • 在出现的选项中,输入A,回车即可
相关推荐
半桔33 分钟前
【网络编程】TCP 服务器并发编程:多进程、线程池与守护进程实践
linux·服务器·网络·c++·tcp/ip
云泽8081 小时前
从ENIAC到Linux:计算机技术与商业模式的协同演进
linux·运维·服务器
ZeroNews内网穿透1 小时前
企业远程访问方案选择:何时选内网穿透,何时需要反向代理?
运维·服务器·网络·python·安全
samonyu2 小时前
fnm 简介及使用
前端·node.js
yuanpan2 小时前
使用Python创建本地Http服务实现与外部系统数据对接
开发语言·python·http
NiKo_W2 小时前
Linux 深入理解权限
linux·运维·服务器
江流月照2 小时前
PCIE地址空间介绍
java·服务器·网络
代码炼金术士3 小时前
服务器更换jar包,重启后端服务
服务器·jar
郝学胜-神的一滴3 小时前
深入探索 Python 元组:从基础到高级应用
运维·服务器·开发语言·python·程序人生
CheungChunChiu3 小时前
嵌入式 Linux 启动机制全解析:从 Boot 到 Rootfs
linux·运维·服务器·ubuntu·uboot·boot·extboot