首页 > 编程语言 >继续nodejs

继续nodejs

时间:2024-03-24 15:38:07浏览次数:22  
标签:http nodejs ip 路径 域名 path 服务器 继续

昨天学习完了读写模块,今天继续学习

Path路径模块

1、路径拼接,path.join方法

用法很简单,首先,使用路径模块要声明个常量,const path = require (‘path’)

然后直接使用就好了,const fpath = path.join(‘路径1’,‘路径2’,‘路径3’,‘路径4’,‘路径5’)

输出的结果就是这几个路径连在一起。

这个方法的使用场景并不多,一般我只用于—dirname和路径的拼接。path.join(__dirname,'../file/nihao.txt')

有人会问了,为什么非要这么写,直接用加号连接不就行了吗?不知道你会不会有这个问题,反正我是有的。这个方法之所以能够替代+号,是因为他会自动改正你写的文件路径,所以一些小错误就可以避免。更稳定一些。而且在这个方法中,(../)的使用会被方法识别到,从而起到抵消上一层路径的效果,这样我们就可以做到实现随机路径的访问,否则我们只能访问当前文件夹或者同级文件夹目录,限制还是很大的。给你们举个例子:

 不知道你们能不能get到我的意思,不过这篇文章也是写给我自己看的,就无所谓了,欸嘿~~

2、path.basename()方法,获取文件路径的最后一部分

这个方法通常用来获取文件名。

 这个方法的使用也很简单: 只需要传入两个参数就好 path.basename(fpath,‘后缀’)

eg:path.basename('/a/b/c/index.html','.html')

前面的参数是必传的,是文件的路径,后面那个参数可以不传,是文件的后缀名,如果你不想要输出文件的后缀,只想输出名字,就可以写上后面这个参数。

3、path.extname()方法,获取文件的后缀名

使用很简单,只需要传入一个文件路径就可以,具体有啥用我倒是不清楚。

 

Http模块

在开始这部分的学习之前,我要先学习一下什么是客户端、什么是服务器这些基础概念:

在网络节点中,负责消费资源的电脑,叫做客户端;

负责对外提供网络资源的电脑,叫做服务器。

和服务器有关的概念我们最好也要了解一下:

1、ip地址

IP地址就是互联网上每一台计算机的唯一地址,因此IP地址具有唯一性。所以说,你要是想和别人通信,就需要你俩互相知道彼此的ip地址

2.域名和域名服务器

因为ip不是很好记忆,尤其是需要记多个ip的时候,基本用人脑是不可能的,所以我们发明了一套字符型的地址方案,也就是域名,想当然,ip地址和域名肯定是一一对应的,这些一一对应的关系被存放在域名服务器,我们在使用的时候只需要拜托服务器帮我们把域名转化为ip地址就可以访问了。总结一下,域名服务器就是提供ip地址和域名之间的转换服务的服务器。 

3、我们本地的服务器默认ip是127.0.0.1,对应的域名是localhost,如果你已经在自己的电脑上启动了服务器,可以试着在浏览器上自己输入看一下。或者打开cmd ping一下,也是会有反应的。 

4、端口号

计算机的端口号,类似于我们生活中的门牌号,也是唯一标识的,但是这里不要搞混了,ip地址唯一标识的是我们的电脑,而端口号唯一标识的是我们的服务器,分得清吗朋友们,我们只能同时操作一台电脑,但是在电脑上面可以同时开n多个服务器。这是区别。

基础信息就先说这么多吧,下面介绍http模块的具体使用:

node.js提供的http模块是用来创建web服务器的模块。

还是老样子,使用之前要先导入,const http= require(‘http’)

然后调用方法,同时我们生成一个实例来接收创建的服务器

const server = http.createServer()

为服务器绑定一个request事件,监听客户端的请求

server.on(‘request’,function(req,res){

 //我们可以输出一个内容来看看我们的服务器是不是被访问了

console.log(“someone visit our server。”)

}

)//启动服务器

server.listen(8080,function(){

  console.log('server running at http://127.0.0.1:8080')//同样的道理,输出一个东西来检查我们是否成功启动。

})

结果来看是没问题的

 在刚刚绑定的request请求方法中,我们传入了两个参数,req和res

req是包含了前端传回来的信息的,比如网址,使用的方法(Get、Post、Put之类的)。直接用 req.url 或者 req.method就能看到

还有一个小问题就是,有时候我们传给前端的内容是中文的,所以有可能会出现中文的乱码,解决方法也很简单,我们要在请求头添加一行代码,声明我们所使用的编码格式

res.setHeader('Content-Type','text/html;charset=utf-8')

通过设置"Content-Type"为"text/html;charset=utf-8",服务器告诉客户端它将发送的内容是HTML类型,并且使用UTF-8字符编码。这对于确保客户端正确地解析和显示服务器返回的HTML内容非常重要。

 

标签:http,nodejs,ip,路径,域名,path,服务器,继续
From: https://www.cnblogs.com/zhanshuang/p/18092156

相关文章

  • nodejs学习
    什么是nodejs就是一个基于chormeV8引擎的JavaScript运行环境,是一个用于后端的运行环境nodejs中的运行环境分为两部分,分别是V8引擎和内置Api,前者用于解析js,后者用于被js调用终端的概念 虽然用的很多,但一讨论他的概念,我倒是有点说不上来:终端,是专门为开发人员设计的,用于实现人......
  • [nodejs] pm2 : nodejs 的进程管理工具
    0pm2概述0.1序0.2pm2简述PM2是一款非常优秀的Node进程管理工具,它有着丰富的特性:能够充分利用多核CPU且能够负载均衡、能够帮助应用在崩溃后、指定时间(clustermodel)和超出最大内存限制等情况下实现自动重启。PM2是开源的基于Nodejs的应用进程管理器,包括守护进......
  • [nodejs] nodejs版本管理工具:nvm
    0序言nodejs的版本管理、安装,是个麻烦事儿。例如在centos7上安装nodejs,就不是那么痛快。(基于docker的安装,除外)1nvm简述nvm是一个node的版本管理工具,可以简单操作node版本的切换、安装、查看等与npm不同的是:npm是依赖包的管理工具,nvm是nodejs的版本管理工具,通过它可以......
  • 2020-2-20-nodejs基础知识
    vs插件安装、快速运行、url模块使用、自动重启工具supervisor、自定义模块、下载第三方包、fs模块、Async、Await的使用、文件里、简易静态服务器、事件驱动EventEmitter、模拟登陆简单版、模拟express封装、操作mongodb数据库VScode插件安装需要安装NodeSnippets插件才会有提......
  • Nodejs常用命令及解释
    node-启动Node.js程序解释:使用该命令可以直接运行一个Node.js程序,从而执行其中的JavaScript代码。npm-Node.js包管理器命令解释:npm是Node.js的包管理器,可以用来安装、卸载和管理Node.js包。常用的命令有:npminit-初始化一个新的Node.js项目npminsta......
  • nodejs 实现 AMD 加载 依赖
    importfsfrom"fs";importpathfrom"path";importvmfrom"vm";exportclassLoadComponent{componentsPath:string=path.resolve("../first/components/");componentName:string="";componentIn......
  • Android使用MediaRecorder进行录像,暂停和继续录像的VideoUtils
    使用MediaRecorder进行录像,要注意再设置MediaRecorder的参数的时候设置,这里也是查了网上很多代码都没有一个完整能实现的,或多或少都有点问题。还有再暂停/继续录制的时候要注意将Camera的预览关闭camera.stopPreview()不然预览的界面还是会继续动给人暂停了还在录制的错觉。还有......
  • 4.零基础Nodejs快速入门——Node.js 模块化
    Node.js模块化一、介绍1.1什么是模块化与模块?将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为模块化其中拆分出的每个文件就是一个模块,模块的内部数据是私有的,不过模块可以暴露内部数据以便其他模块使用1.2什么是模块化项目?......
  • 6.零基础Nodejs快速入门——包管理工具
    包管理工具一、概念介绍1.1包是什么『包』英文单词是package,代表了一组特定功能的源码集合1.2包管理工具管理『包』的应用软件,可以对「包」进行下载安装,更新,删除,上传等操作借助包管理工具,可以快速开发项目,提升开发效率包管理工......
  • 【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本 npm报错
    CentOS7环境下安装Nvm,在执行nvmuse18.17.0后执行node-v爆出如下错误 bash复制代码node:/lib64/libm.so.6:version`GLIBC_2.27'notfound(requiredbynode)node:/lib64/libc.so.6:version`GLIBC_2.25'notfound(requiredbynode)node:/lib64/libc.so......