node.js中path路径模块的使用方法实例分析

来源:脚本之家  责任编辑:小易  

在引用文件模块的时候后要加上文件的路径:///xxx.js表示绝对路径、./xxx.js表示相对路径(同一文件夹下的xxx.js),../表示上一级目录。 如果既不加//、../又不加./的话,则该模块要么是核心模块,要么是从一个node_modules文件夹加载。

本文实例讲述了node.js中path路径模块的使用方法。分享给大家供大家参考,具体如下:

node模块的安装分为全局模式和本地模式。 一般情况下会以本地模式运行:node包会被安装到你的应用代码本地node_modules目录下。 在全局模式下,node包会被安装到node的默认安装目录下的node_modules下。 本地模式: 键入命令:npm install expre

path模块是node.js中处理路径的核心模块。可以很方便的处理关于文件路径的问题。

模块路径解析规则 有经验的 C 程序员在编写一个新程序时首先从 make 文件写起。同样的,使用 NodeJS 编写程序前,为了有个良好的开端,首先需要准备好代码的目录结构和部署方式,就如同修房子要先搭脚手架。本章将介绍与之相关的各种知识。 模块

join() 将多个参数值合并成一个路径

因为它能自动搜索路径。模块导出的函数能自动接收

const path = require('path'); console.log(path.join('./a', 'b', 'c'));

nodejs的几种模块加载方式 一.直接在exports对象中添加方法 1. 首先创建一个模块(module.js)module.js exports.One = function(){ console.log('first module'); }; 2.load.jsvar module =require('./module'); module.One(); 这样我们就可以在

basename() 获取路径中的文件名

为什么乌龟睡觉头要浮在水面呢?没错,它就是为了呼吸方便。很多人以为乌龟是两栖动物。其实是错误的。两栖动物幼体生活在水中,用鳃呼吸。而乌龟自生下来就是用肺呼吸,而且是变温动物,所以它是爬行动物不是两栖动物。它平时在水里也是要过一会把头伸出水面呼吸的,乌龟不是在水里呼吸的,是要在空气中呼吸的。所以你龟缸的水位不能太高。一般水过背就可以。如果想要深水养的话最好是有个晒台,方便乌龟爬出水面呼吸。

const path = require('path'); //获取文件名,包含扩展名 console.log(path.basename('./a/b/c/1.txt')); //获取文件名,去掉扩展名 console.log(path.basename('./a/b/c/1.txt', '.txt'));

排球中的副攻位置,在英语里的名称是MiddleBlocker,这个名字可以更好的体现这个位置的作用:位于前排中间的拦网队员。通常为了追求拦网的效果和进攻的高度,副攻的身高在队伍里都比较突出。如果有过比较正式的排球比赛或者运动经验,就会明白为什么副攻这个位置的队员一般不接一传。副攻队员在位于前排的时候,体力的消耗非常大。从进攻方面来说,副攻的进攻手段主要是快攻和跑动进攻,这需要与二传手有很好的默契配合与很多的跑动。副攻在队伍进攻时还有一个作用,为本方的主攻手做进攻掩护。所以在比赛中经常会看到一传到位以后,即使二传没有把球传给副攻,这位队员仍然需要进行跑位,起跳,甚至做出进攻动作,从而达到欺骗对方

extname() 获取路径中的扩展名

作为提问者,我来自问自答了,汇报一下结果,也希望给同类遭遇的朋友一个参考。外包装的盒子损坏是不影响二次销售的,不论是最外面的快递盒子还是里面的小盒子,你是在收到货七天内申请退货的,卖家也加入了七天无理由退货,如果他给你拒签退回的话这种情况是可以申请售后维权的,你把聊天记录都截图留好,淘小二会审核你们提供的凭证,会用卖家的保证金退款给你,同时也会对卖家进行扣分处罚,卖家给你拒签退回的可能性也不大,因为一个销量比较好的店铺经常都会有退回去的快递,他们之所以这样说是不想让你退货,让你担心被拒签自己还得付运费浪费钱。和“早上情感话题”给我的回答说的一样,卖家确实是唬人的,说会拒收,就是想让我怕浪费邮费

const path = require('path'); //获取文件中的扩展名 console.log(path.extname('./a/b/c/1.txt'));

女孩要爱自己,保养要趁早。15-26岁女人“防护保鲜”适龄期  虽然这时候的肌肤有着傲人的资本,就算不保养也会看起来神采奕奕,但千万不要以为就可以忽略保养的重要性。想办法延缓老化的速度,阻断皱纹生成的机会,远比解决皱纹来得容易。所以这个时期对肌肤的保护绝对可以决定肌肤的未来!  15-17岁,开始人生的首次保养。在中国,大多数女性在20岁以后才开始保养,而日本女孩平均12岁已经开始保养!但是保养过早的副作用是可能会抑制皮肤本身的完全发育,不能让皮肤最大限度的生长到自己的潜力极限。所以,在身体完全发育后开始保养最为适当,这个年龄大约在15-17岁,但是有一种保养例外,那就是防晒!-女孩12岁以前

sep 返回操作系统指定的路径分割符

const path = require('path'); console.log(path.sep); console.log(path.win32.sep); console.log(path.posix.sep);

delimiter 返回操作系统环境变量的分割符

const path = require('path'); console.log(path.delimiter); console.log(path.win32.delimiter); console.log(path.posix.delimiter);

normalize() 将非标准的路径转换成标准路径,解析像 '.' ,'..',或多个杠。

const path = require('path'); console.log(path.normalize('./a/b/../../c')); console.log(path.normalize('./a//b//.././c'));

resolve() 返回绝对路径

const path = require('path'); console.log(path.resolve('./a/b/../c/./d'));

isAbsolute() 判断是否为绝对路径

const path = require('path'); console.log(path.isAbsolute('./a/b/../c/./d')); console.log(path.isAbsolute('E:/a'));

parse() 解析一个路径,返回一个带有属性的对象

const path = require('path'); console.log(path.parse('./a/b/../c/./d/1.txt'));

relative() 返回参数一到参数二的相对路径

const path = require('path'); console.log(path.relative('./a/b/c', './a/d'));

希望本文所述对大家node.js程序设计有所帮助。

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

Node.js如何载入模块和安装模块实例详解

非常简单,require("模块名"),就可以了,

随便传授秘籍:nodejs代码,可以拿Jshman这个js加密工具加密,加密后是密文,别人就看不了你的代码了,

node js-nodejs怎么获取脚本所在的路径

nodejs提供了一个path的模块,它提供了一系列的工具还是,用于处理文件和目录的路径。引入模块:

const path = require('path');

1、获取一个文件的目录名 path.dirname()

const filepath = '/tmp/demo/js/app.js'; // 脚本路径

console.log(path.dirname(filepath)); // 输出:/tmp/demo/js

2、获取当前工作进程的目录console.log(process.cwd());

nodejs path 模块处理有多个扩展名的文件

在nodejs中,path是个使用频率很高,但却让人又爱又恨的模块。部分因为文档说的不够清晰,部分因为接口的平台差异性。

将path的接口按照用途归类,仔细琢磨琢磨,也就没那么费解了。

怎么修改nodejs里module.globalpaths

npm install --global xxx 属于全局安装

npm install xxx 属于本地安装

1、全局路径

Windows下的Nodejs npm路径是appdata

cmd下执行以下命令

npm config set cache "D:\nodejs\node_cache"

npm config set prefix "D:\nodejs\node_global"

如果无效

在nodejs的安装目录中找到node_modules\npm\.npmrc文件

修改如下即可:

prefix = D:\nodejs\node_global

cache = D:\nodejs\node_global

[重要]环境变量配置:在环境变量path追加:D:\nodejs\node_global;

2、本地路径(项目级)

NODE_PATH 是干什么的呢?

操作系统中都会有一个PATH环境变量,想必大家都知道,当系统调用一个命令的时候,就会在PATH变量中注册的路径中寻找,如果注册的路径中有就调用,否则就提示命令没找到。

那 NODE_PATH 就是NODE中用来寻找模块所提供的路径注册环境变量

[加载机制]

NODE_PATH中的路径被遍历是发生在从项目的根位置递归搜寻 node_modules 目录,直到文件系统根目录的 node_modules,如果还没有查找到指定模块的话,就会去 NODE_PATH中注册的路径中查找。

这样,我们的项目就可以共享node_modules的依赖包。

差异性的解决方法

如果 项目A 使用了,express的3.x版本,项目B 使用了 express的4.x版本,那这种情况该怎么办呢?

可以将 NODE_PATH 指定的位置中存放 express的4.x版本,再将 项目B的 node_modules 目录中放置 3.x 版本。

这样就解决了模块版本差异性问题。

问题

在使用 --global 参数的时候 --save 或 --save-dev参数是无效的。

这样就带来一个问题。此时 package.json 中的 dependencies, devDependencies 将无法享受到npm自动更新带来的便利

nodejs url模块怎么使用

url模块

处理HTTP请求时url模块使用率超高,因为该模块允许解析URL、生成URL,以及拼接URL。首先我们来看看一个完整的URL的各组成部分。

代码如下:

href

-----------------------------------------------------------------

host path

--------------- ----------------------------

http: // user:pass @ host.com : 8080 /p/a/t/h ?query=string #hash

----- --------- -------- ---- -------- ------------- -----

protocol auth hostname port pathname search hash

------------

query

我们可以使用.parse方法来将一个URL字符串转换为URL对象,示例如下。

代码如下:

url.parse('http://user:pass@host.com:8080/p/a/t/h?query=string#hash');

/* =>

{ protocol: 'http:',

auth: 'user:pass',

host: 'host.com:8080',

port: '8080',

hostname: 'host.com',

hash: '#hash',

search: '?query=string',

query: 'query=string',

pathname: '/p/a/t/h',

path: '/p/a/t/h?query=string',

href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash' }

*/

传给.parse方法的不一定要是一个完整的URL,例如在HTTP服务器回调函数中,request.url不包含协议头和域名,但同样可以用.parse方法解析。

代码如下:

http.createServer(function (request, response) {

var tmp = request.url; // => "/foo/bar?a=b"

url.parse(tmp);

/* =>

{ protocol: null,

slashes: null,

auth: null,

host: null,

port: null,

hostname: null,

hash: null,

search: '?a=b',

query: 'a=b',

pathname: '/foo/bar',

path: '/foo/bar?a=b',

href: '/foo/bar?a=b' }

*/

}).listen(80);

.parse方法还支持第二个和第三个布尔类型可选参数。第二个参数等于true时,该方法返回的URL对象中,query字段不再是一个字符串,而是一个经过querystring模块转换后的参数对象。第三个参数等于true时,该方法可以正确解析不带协议头的URL,例如//www.example.com/foo/bar。

反过来,format方法允许将一个URL对象转换为URL字符串,示例如下。

代码如下:

url.format({

protocol: 'http:',

host: 'www.example.com',

pathname: '/p/a/t/h',

search: 'query=string'

});

/* =>

'http://www.example.com/p/a/t/h?query=string'

*/

另外,.resolve方法可以用于拼接URL,示例如下。

代码如下:

url.resolve('http://www.example.com/foo/bar', '../baz');

/* =>

http://www.example.com/baz

*/

Query String

querystring模块用于实现URL参数字符串与参数对象的互相转换,示例如下。

代码如下:

querystring.parse('foo=bar&baz=qux&baz=quux&corge');

/* =>

{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }

*/

querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });

/* =>

'foo=bar&baz=qux&baz=quux&corge='

  • 本文相关:
  • node.js路径解析之path模块使用方法详解
  • node.js中路径处理模块path详解
  • 详解nodejs之路径path模块
  • nodejs学习笔记之(url,querystring,path)模块
  • 详解node.js中path模块的resolve()和join()方法的区别
  • 深入理解node.js之path模块
  • node.js中的path.resolve方法使用说明
  • node.js中的path.join方法使用说明
  • node.js中的path.dirname方法使用说明
  • node.js中的path.basename方法使用说明
  • node.js中的path.extname方法使用说明
  • node.js中的path.normalize方法使用说明
  • 详解windows下安装nodejs步骤
  • 基于node.js的大文件分片上传示例
  • node.js readline 逐行读取、写入文件内容的示例
  • node.js中的console.timeend方法使用说明
  • node.js的环境安装配置(使用nvm方式)
  • 解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
  • 详解node.js异步处理的各种写法
  • nodejs 实现简单websocket即时通讯的示例代码
  • node.js中 __dirname 的使用介绍
  • 充分发挥node.js程序性能的一些方法介绍
  • Node.js如何载入模块和安装模块实例详解
  • node js-nodejs怎么获取脚本所在的路径
  • nodejs path 模块处理有多个扩展名的文件
  • 怎么修改nodejs里module.globalpaths
  • nodejs url模块怎么使用
  • nodejs中require的路径是一个文件夹时发生了什么
  • node.js 模块 为什么文件中的变量不是全局的
  • node.js模块制作并打包的流程是怎样的
  • nodejs引入核心模块的时候为什么不考虑路径问题
  • 如何加载Nodejs模块
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved