zoukankan      html  css  js  c++  java
  • 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'
        }
    };
  • 相关阅读:
    插入排序
    APPlication,Session,Cookie,ViewState和Cache之间的区别
    sqlserver 2005新特性
    选择排序
    Transact_SQL小手册
    装箱和取消装箱
    select语句的执行步骤:
    using 的三种用法
    创建索引及撤销
    (转译)用FFmpeg和SDL写播放器08软件缩放
  • 原文地址:https://www.cnblogs.com/nemoro1928/p/6180234.html
Copyright © 2011-2022 走看看