持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情
系列介绍
该系列主要是介绍一些nodejs相关的基础知识,没有什么特别难的知识点,都是一些比较基础知识点。大家学习起来,也会比较容易理解和接收。
这些知识点,也是以前自己学习nodejs的时候,学习过的知识点。有些知识点,可能是由于学习的时间比较久了,也有可能是平时工作中用到的机会比较少,也差不多快把它们都忘记掉了。现在把它们都写下来,写成文章,一方面是记录下自己以前学习的nodejs知识点,一方面也是复习巩固自己以前学习的nodejs知识点。不要学着学着,就把以前的知识点都忘光了。
nodejs介绍
从nodejs摘抄过来的node介绍:
Node.js 是一个开源和跨平台的 JavaScript 运行时环境。 它几乎是任何类型项目的流行工具!
Node.js 在浏览器之外运行 V8 JavaScript 引擎(Google Chrome 的内核)。 这使得 Node.js 的性能非常好。
Node.js 应用程序在单个进程中运行,无需为每个请求创建新的线程。 Node.js 在其标准库中提供了一组异步的 I/O 原语,以防止 JavaScript 代码阻塞,通常,Node.js 中的库是使用非阻塞范式编写的,使得阻塞行为成为异常而不是常态。
当 Node.js 执行 I/O 操作时(比如从网络读取、访问数据库或文件系统),Node.js 将在响应返回时恢复操作(而不是阻塞线程和浪费 CPU 周期等待)。
这允许 Node.js 使用单个服务器处理数千个并发连接,而不会引入管理线程并发(这可能是错误的重要来源)的负担。
Node.js 具有独特的优势,因为数百万为浏览器编写 JavaScript 的前端开发者现在无需学习完全不同的语言,就可以编写除客户端代码之外的服务器端代码。
在 Node.js 中,可以毫无问题地使用新的 ECMAScript 标准,因为你不必等待所有用户更新他们的浏览器,你负责通过更改 Node.js 版本来决定使用哪个 ECMAScript 版本,你还可以通过运行带有标志的 Node.js 来启用特定的实验性功能。
我们可以从介绍里面看到,nodejs还是挺棒的。
nodejs遵循的是commomjs规范,所以使用nodejs的时候,需要按照commomjs规范来编写代码。
环境安装
实现之前,你首先需要安装nodejs环境。因为我们写的代码需要在node环境上运行,如果你没有,那么文件会运行不了。
以下是nodejs的安装地址,如果你没有安装的话,可以先把它安装上。安装了可以忽略这一步,跳到下面一步。
前言
在nodejs系列前面几篇文章中,我们介绍了好几个模块:http模块、url模块、querystring模块等。接下来,我们还要介绍nodejs里面常用的一个模块--path模块。
path模块是什么?
path模块是nodejs官方提供的,用来处理路径相关的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。
使用
接下来,对path模块的几个常用方法做一下介绍及使用演示。
在开始使用path模块的各个方法之前,我们先创建一个index.js文件,先把path模块引入进来。
const path = require('path')
join
path.join([...paths])
path模块的join方法,可以用来拼接路径。
使用该方法,会正确地使用当前系统的路径分隔符拼接路径。
使用示例:
console.log('join',path.join('a','b','c'));
在cmd里,用node运行index.js文件,在cmd里查看打印日志
从打印日志我们可以看到,a,b,c被拼接成了\a\b\c,使用当前系统的分隔符来拼接的。
resolve
path.resolve([from,...],to)
将to参数解析为绝对路径,给定的路径序列是从右往左被处理的。后面每个path被依次解析,直到构造完成一个绝对路径。
使用示例:
console.log('resolve',path.resolve('/a/b','./d'));
在cmd里,用node运行index.js文件,在cmd里查看打印日志
从打印日志我们可以看到,./d相对路径被转换为了D:\a\b\d的绝对路径
basename
path.basename(path[ext])
- path:必选参数,表示一个路径的字符串
- ext:可选参数,表示文件扩展名
使用path.basename()方法,可以从一个文件路径中,获取到文件的名称部分。
使用示例:
我们先只传第一个参数path,看下会得到什么结果
console.log('basename',path.basename('/a/b/index.html'));
在cmd里,用node运行index.js文件,在cmd里查看打印日志
从打印日志,我们可以看到,获取到路径后面的文件名称部分
接着,我们传递第二个参数,看下又会得到什么结果
console.log('basename',path.basename('/a/b/index.html','.html'));
在cmd里,用node运行index.js文件,在cmd里查看打印日志
从打印日志,我们可以看到,获取到路径后面的文件名称部分。不过这时把文件名的后缀给去除掉了。
extname
path.extname(path)
使用path.extname()方法,可以获取路径中的文件扩展名。
使用示例:
console.log('extname',path.extname('/a/b/test.html'));
在cmd里,用node运行index.js文件,在cmd里查看打印日志
从打印日志,我们可以看到,路径里面的文件扩展名获取到了
到这里path模块的各个方法就介绍完成了,不过没有把所有path模块的方法介绍完。 还有几个方法没有介绍,感兴趣的可以自行查阅一下资料。
小结
在这篇文章里,我们介绍了path模块的几个方法:
- join:用来拼接路径,使用当前系统的分隔符来进行拼接
- resolve:把路径解析为绝对路径
- basename:获取路径里面的文件名称
- extname:获取路径里面的文件扩展名
在以上几个方法里,我们常用的是join方法。在项目里面,我们经常会用到join方法,来拼接路径。
最后,放上自己比较喜欢的一句诗句:
千淘万漉虽辛苦,吹尽狂沙始到金 - 唐 刘禹锡《浪淘沙》