Nodejs:Path对象

模块Path:

path.normalize(url)

path.join(url1, url2, ..)

path.resolve(url1, url2, ..)

path.relative(url1, url2)

path.dirname(url)

path.basename(url)

path.extname(url)


TIPS:

以上是Path对象的API,调用方便简洁,一般在项目中我会先写一个顶级目录

var publicDir = path.resolve(__dirname, ‘./src‘)

其余的子目录在此顶级目录衍生

var pagesDir  = path.resolve(publicDir, ‘./pages‘)
var staticDir = path.resolve(publicDir, ‘.static‘)
var buildDir  = path.resolve(publicDir, ‘./build‘)
var vendorDir = path.resolve(publicDir, ‘./vendor‘)

最后把对象挂载出去,其他文件需要使用到路径的,直接引入就可以了

module.exports = {
    pagesDir:    path.resolve(publicDir, ‘./pages‘)
    staticDir:   path.resolve(publicDir, ‘.static‘)
    buildDir:    path.resolve(publicDir, ‘./build‘)
    vendorDir:   path.resolve(publicDir, ‘./vendor‘)
}

API样例:

var path = require(‘path‘);

/*
 * 格式化路径:../返回上一级,所以结果为
 * -->‘/foo/bar/baz/asdf‘
 */
path.normalize(‘/foo/bar//baz/asdf/quux/..‘);

/*
 * 拼接路径:拼接完成后调用normalize(),结果同上
 * -->‘/foo/bar/baz/asdf‘
 */
path.join(‘///foo‘, ‘bar‘, ‘//baz/asdf‘, ‘quux‘, ‘..‘);

/*
 * 路径导航:等于cd一遍每个子路径
 */
path.resolve(‘foo/bar‘, ‘/tmp/file/‘, ‘..‘, ‘a/../subfile‘)

/*
 * 相对路径:b相对于a的路径为:‘../../impl/bbb‘,在a的路径上结果就可以访问到b文件
 * -->‘../../impl/bbb‘
 */
path.relative(‘/data/orandea/test/aaa‘, ‘/data/orandea/impl/bbb‘)

/*
 * 文件夹名称:文件夹所在路径的名称
 * -->‘/foo/bar/baz/asdf‘
 */
path.dirname(‘/foo/bar/baz/asdf/quux‘)    

/*
 * 文件路径:返回指定的文件名,可排除后缀名
 * -->‘quux‘
 */
path.basename(‘/foo/bar/baz/asdf/quux.html‘, ‘.html‘)

/*
 * 拓展名:返回文件拓展名
 */
path.extname(‘index.html‘)    //    ‘.html‘
path.extname(‘index.‘)        //    ‘.‘
path.extname(‘index‘)        //    ‘‘

module.exports = {
    entry: [],
    output:{
        path: buildDir,
          filename: ‘[name]/entry.js‘
    }
};
时间: 2024-10-11 17:30:23

Nodejs:Path对象的相关文章

NodeJS入门(四)—— path对象

很快Node就会迎来4.0的时代,届时将并入现有的iojs,所以先前写过的iojs入门系列直接更名为NodeJS入门. 本篇开始将逐个介绍Node的各主要模块,依循API文档走一遍,但会给出比API文档更详尽的示例. 所有的示例都可以在我的Github上下载到(暂时传不了,这段时间VPN统统失效,你懂的...). API系列的开篇打算以 path 对象开始,因为之前在写一些gulp插件,发现path的使用频率实在太高了,掌握之有助于我们处理好一些文件或文件夹的路径. path.normalize

Node.js的Path对象

NodeJS中的Path对象,用于处理目录的对象,提高开发效率.用NodeJS的Path命令,与使用Linux下的shell脚本命令相似.引入path对象: var path = require('path'); 比较实用的方法: 格式化路径 path.normalize(p)特点:将不符合规范的路径格式化,简化开发人员中处理各种复杂的路径判断 示例: path.normalize('/foo/bar//baz/asdf/quux/..'); => '/foo/bar/baz/asdf' 路径合

Path对象

Path是连续的Segment的集合,除了 Path 的第一个Segment和最后一个Segment外,其余的Segment的起始点都是前一个Segment的终止点,即Path对象的中的Segment不能出现分离,Path可以是任意数的Segment子类的组合.

Android中自定义视图View之---Canvas和Path对象

介绍Android中的Paint和Canvas的概念和使用方法 Android中的Paint和Canvas的概念是很简单的,就是我们用画笔在画布上进行绘制没什么难度的,我们只要拿到画笔Paint和画布Canvas对象就可以进行操作了.当然Canvas对象提供了很多绘制图形的方法,下面来看一下代码吧: package com.example.drawpathdemo; import android.annotation.SuppressLint; import android.content.Co

Silverlight日记:字符串装换成Path对象

一,需要动态绑定Path 1 <UserControl x:Class="Secom.Emx2.SL.Common.Controls.EleSafe.Ele.Line" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d=&q

nodejs 全局对象

1. 全局对象console的五个方法: log   dir    time  timeEnd  error 2. 在前端中全局对象Window中定义了consle这个对象 3. 在nodejs中全局对象是global,在global中定义了console. 4. setInterval也是global中定义的全局对象 5. setTimeout也是global中定义的全局对象 6. __dirname 也是全局对象,表示当前文件所在的路径 7. __filename也是全局对象,表示当前文件所

Nodejs源代码分析之Path

今天介绍一下nodejs Path的源代码分析,Path的API文档在https://nodejs.org/dist/latest-v5.x/docs/api/path.html,使用相对简单,在API文档中,须要特别说明的是例如以下的文字: This module contains utilities for handling and transforming file paths. Almost all these methods perform only string transforma

nodejs的路径问题

最近公司的一个开发项目,后端用的是nodejs.这两天需要打包给客户演示,就让公司一个小伙把之前3D机房的打包工具移植过来.打包之后,发现原本在开发环境下的跑的好好的项目,不能访问了.出现项目的首页不能访问的问题: can not get file index.html #express.static问题出在哪儿? nodejs后端的用了express,index.html是一个静态文件.我们知道,通过 Express 内置的 express.static 可以方便地托管静态文件,例如图片.CS

Nodejs的模块系统

global对象 浏览器端JavaScript中的全局对象为"window",在浏览器中定义的变量都会成为"window"对象的属性. 不像浏览器端JavaScript,在Nodejs中没有window对象,Nodejs中的全局对象为"global",并且我们定义的变量不会作为"global"的属性.Nodejs遵循CommonJS规范. 模块包裹函数 在Nodejs应用中,每个文件都是一个模块,所有代码都在模块作用域中执行.