fontendNote
  • docs
  • sources
    • others
      • 数据结构与算法
        • 第一章:绪论
      • 英语阅读积累词汇
      • git
        • 常用Git命令与技巧
        • sourcetree一直提示输入密码的终极解决方案(亲测有效)
      • case
        • 曲线编辑器
          • canvas实现曲线编辑器
      • 计算机常见单词
    • ts
      • ts 配置参考(带注释)
  • source
    • _about
      • 你可能不知道的 vscode 使用技巧
    • _posts
      • css
        • CSS 优化细则
        • sass
          • sass学习笔记
        • 《css世界》书摘
      • js
        • dom
          • 常用js页面跳转方式
          • 跨浏览器的javascript中鼠标滚轮事件
        • performance
          • js性能优化注意事项
      • node
        • npm-package
          • chokidar
        • node中获取正在运行的全部进程数据
        • node中对路径分隔符的兼容性处理
      • tools
        • 你可能不知道的 vscode 使用技巧
      • leetcode
        • 无重复字符的最长子串
        • 题目
  • scaffolds
    • page
    • post
    • draft
Powered by GitBook
On this page

Was this helpful?

  1. source
  2. _posts
  3. node

node中对路径分隔符的兼容性处理

在编写node程序的时候,经常会遇到的问题是path.resolve或者relative方法返回的结果在linux和windows下不一样。linux返回的路径分隔符是左斜杠(/),而windows返回的路径分隔符是右斜杠(\)。

大部分情况下,我们不需要做额外的处理,各自维护自己的路径格式即可,程序本身不需要关心返回的路径格式。但是在调用一些其他模块的时候,可能会遇到这样的问题。

分隔符本来也不是什么大问题,但肯定不是简单的字符串替换能解决的。比如,我们需要将windows下拿到的路径转换成linux下的路径。

D:\\desktop\\dev\\workspace\\k2\\seed\\seed.js

第一反应是使用replace来解决,但比较推荐的方式是使用path.sep来代替正则的匹配,主要作用是保证代码兼容性的同时也增加代码的可读性,不需要考虑系统版本。

'D:\\desktop\\dev\\workspace\\k2\\seed\\seed.js'.split(path.sep).join('/');
Previousnode中获取正在运行的全部进程数据Nexttools

Last updated 6 years ago

Was this helpful?