zoukankan      html  css  js  c++  java
  • path.join()和path.resolve()的区别

    现在写代码的时候有时候使用path.join(__dirname,'dist')有时候用path.resolve(__dirname,'dist'),都是能拼接处来一个绝对路径,但是具体有什么区别呢?

    一、path.join()方法

      path.join()方法是将多个参数字符串合并成一个路径字符串

      console.log(path.join(__dirname,'a','b'));   假如当前文件的路径是E:/node/1,那么拼接出来就是E:/node/1/a/b。

      console.log(path.join(__dirname,'/a','/b','..'));  路径开头的/不会影响拼接,..代表上一级文件,拼接出来的结果是:E:/node/1/a
      console.log(path.join(__dirname,'a',{},'b'));   而且path.join()还会帮我们做路径字符串的校验,当字符串不合法时,会抛出错误:Path must be a string.
    二、path.resolve()方法
      path.resolve()方法是以程序为根目录,作为起点,根据参数解析出一个绝对路径
      以应用程序为根目录
      普通字符串代表子目录
      /代表绝对路径根目录
      
      console.log(path.resolve());   得到应用程序启动文件的目录   E:zfwebpack1src
      console.log(path.resolve('a','/c'));   E:/c  ,因为/斜杠代表根目录,所以得到的就是E:/c
      所以我们一般拼接的时候需要小心点使用/斜杠
      console.log(path.resolve(__dirname,'img/so'));  E:zfwebpack1srcimgso   这个就是将文件路径拼接,并不管这个路径是否真实存在。
      console.log(path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif'))    E:zfwebpack1srcwwwrootstatic_filesgifimage.gif
      这个是用当前应用程序启动文件绝对路径与后面的所有字符串拼接,因为最开始的字符串不是以/开头的。
      ..也是代表上一级目录。
     
  • 相关阅读:
    nginx+tomcat负载均衡
    一个tomcat部署多个应用实例
    多级菜单存在同一张表,一次性把所有关系取出来
    关于ajax post请求,参数过大产生的问题解决 Java
    nginx 的 proxy_cache 缓存配置
    nginx 安装 lua_nginx_module 模块(nginx——lua 学习笔记1)
    nginx 反向代理
    nginx的共享字典项api(操作方法)
    sed 常用命令 网址
    Django之 数据库ORM
  • 原文地址:https://www.cnblogs.com/learnings/p/9648112.html
Copyright © 2011-2022 走看看