node.js学习第五天--路径优化

1、path优化 path模块的基本用法

本模块包含一套用于处理和转换文件路径的工具集,用于处理目录的对象,提高用户开发效率,让我们一起来快速的认识path对象的一些常用方法吧!

2、normalize函数的基本用法

normalize函数将不符合规范的路径经过格式化转换为标准路径,解析路径中的.与..外,还能去掉多余的斜杠。

如下示例:

var path = require(‘path‘);

var data = path.normalize(‘/path///normalize/hi/..‘);

console.log(data);

运行结果:

        ‘/path/normalize/‘

看了上面的示例,是不是感觉很So easy,赶快寻个路径试试效果吧(按步操作哟)!

标准化之后的路径里的斜杠在Windows系统下是,而在Linux系统下是/。如果想保证任何系统下都使用/作为路径分隔符的话,需要用replace再替换一下即可。

3、join函数的基本用法

join函数将传入的多个路径拼接为标准路径并将其格式化,返回规范后的路径,避免手工拼接路径字符串的繁琐. 如下示例:

var path = require(‘path‘);

var data = path.join(‘///you‘, ‘/are‘, ‘//beautiful‘);

console.log(data);

运行结果:

        ‘/you/are/beautiful‘

看了上面的示例,是不是感觉和上一课时很相似呢,赶快试试吧!

join函数可用于拼接、格式化路径.

4、dirname函数的基本用法

dirname函数用来返回路径中的目录名. 如下示例:

var path = require(‘path‘);

var data = path.dirname(‘/foo/strong/cool/nice‘); 

console.log(data);

运行结果:

        ‘/foo/strong/cool‘

看了上面的说明和示例,感觉如何,动手来试一下吧!

dirname函数通过传入需要解析出路径的字符串作为参数,从而获取相应目录名。

5、basename函数的基本用法

basename函数可返回路径中的最后一部分,并且可以对其进行条件排除. 如下示例:

例1:path.basename(‘路径字符串‘);

例2:path.basename(‘路径字符串‘, ‘[ext]‘)<排除[ext]后缀字符串>;

var path = require(‘path‘);

var data1 = path.basename(‘/foo/strong/basename/index.html‘);

var data2 = path.basename(‘/foo/strong/basename/index.html‘,‘.html‘);

console.log(data1 + ‘ "and" ‘ + data2);

运行结果:

        ‘index.html "and" index‘

看完了两个例子的介绍和区别,赶快动手亲自感受一下吧!

此函数包含一个必须参数,即为路径字符串,和一个可选参数为扩展名,吸收一下继续努力!

6、extname函数的基本用法

extname函数返回路径中文件的扩展名(以最后一个‘.‘开始,返回‘.‘以及‘.‘以后的所有字符串,如没有‘.‘,则返回空字符串). 如下示例:

var path = require(‘path‘);

var data = path.extname(‘index.html‘);

console.log(data);

运行结果:

        ‘.html‘

经过前面几节课时的学习,相信你已经对path的几个方法充分了解掌握了,趁热打铁,试试extname函数吧!

当我们需要根据不同文件扩展名做不同操作时,该方法就显得很好用哟!

7、课程小结

很高兴您学完了本节课程,关于path的一些常用方法就先讲到这里了,如果您还想了解更多的话,可以参考以下地址:

http://nodejs.cn/api/path

http://nodeapi.ucdok.com/#/api/path.html

时间: 2024-12-23 15:30:29

node.js学习第五天--路径优化的相关文章

Ext JS学习第五天 Ext_window组件(一)

此文来记录学习笔记 •第一个组件:Ext.window.Window.对于组件,也就是Ext最吸引开发者的地方,那么我们要真正的使用Ext的组件,首先必须学会阅读API文档. –xtype:组件的别名 –Hierarchy 层次结构 –Inherited mixins 混入的类 –Requires 该组件需要使用的类 –configs:组件的配置信息 –properties:组件的属性 –methods:组件的方法 –events:组件的事件 •window组件常用属性和方法讲解: •confi

系列文章--Node.js学习笔记系列

Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql) Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识 Nodejs学习笔记(七)--- Node.js + Exp

Node.js学习笔记【1】入门(服务器JS、函数式编程、阻塞与非阻塞、回调、事件、内部和外部模块)

笔记来自<Node入门>@2011 Manuel Kiessling JavaScript与Node.js Node.js事实上既是一个运行时环境,同时又是一个库. 使用Node.js时,我们不仅仅在实现一个应用,同时还实现了整个HTTP服务器. 一个基础的HTTP服务器 server.js:一个可以工作的HTTP服务器 var http = require("http"); http.createServer(function(request, response) { r

Node.Js学习01: Module System 以及一些常用Node Module

Node.Js学习就按照这本书的流程来. 在第7章结束与第10章结束时分别自己出一个小项目练练手.Node.Js的入门学习计划是这样. 目录:, QQ:1045642972 欢迎来索书以及讨论Node.Js. Node.Js Demo Node.Js官网提供了一个最基本的Demo Code: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type':

Node.js学习系列总索引

Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql) Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs Nodejs学

NODE.JS学习的常见误区及四大名著

NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang/p/4374681.html 收到了很多兄弟的热情回复和激烈讨论,在此深表感谢,有的朋友觉得我写的比较粗犷,没有给出具体的性能分析和对比,在此我想说的是其实好多东西的性能分析,根本就不用我写到博客上,其一是如果我写了,很多人同样会觉得不客观,不中立,其二是网上很多中立的机构,随便搜索一下,对比太多

Ext JS学习第五天 Ext_window组件(二)

此文用来记录学习笔记 •上一讲我们已经学过了window的使用,那么在这将中,我们将结合然后把Ext中需要注意的地方,以及组建的使用给予介绍.indow做几个Web开发的经典示例. •ExtWeb实战300例: –例1:点击按钮打开一个window,window重复创建的问题 •重点分析:这个问题是初学者经常会犯错的地方,一般来说简单的代码不会产生此问题,但是如果以后代码复杂以后,这个问题如果发生调试起来会非常麻烦!! 附上栗子代码 1 Ext.onReady(function () { 2 3

Node.js学习笔记(3) - 简单的curd

这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简单介绍 这次demo,只涉及到简单的curd操作,用到的数据库是mongo,所以要安装mongo数据库,数据库连接驱动是mongoose: 当然关于mongo的驱动有很多,比如mongous mongoskin等:(详见http://cnodejs.org/topic/4f4ca8e0940ce2e

node.js 学习 00

前言 先写点废话,相中node.js倒是纯属偶然. 在这之前我想要要搭建一个人网站,我感到现有的博客/空间之类只能给予用户有限的控制力.于是在AWS上申请了免费一年的VPS,自己买了一个域名,百度了之后选择了在主机上挂了一个nginx.在这之后我发现直接手写html是一件十分麻烦的事情,于是暂时失去了构建的方向.只是改了改nginx的默认的主页,就先放着了. 在这之后的新学期里,我多一门 数据库原理 的课程,在这之前我通过王垠的博客了解过Nosql的一些概念.数据库原理老师对传统关系性数据库的吹