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'
        }
    };
  • 相关阅读:
    shell脚本中的进度指示器
    shell脚本输出带颜色字体
    Linux awk命令用法
    Kubernetes系列02—Kubernetes设计架构和设计理念
    kubernetes学习01—kubernetes介绍
    kubernetes 06—kubernetes资源清单定义
    http服务详解 一次完整的请求过程
    Mysql数据库的二进制安装和基础入门操作
    项目实战10.1—企业级自动化运维工具应用实战-ansible
    linux OSI七层模型、TCP/IP协议栈及每层结构
  • 原文地址:https://www.cnblogs.com/nemoro1928/p/6180234.html
Copyright © 2011-2022 走看看