2019 年 01 月 26 日

nodejs ——path 模块的**dirname 和 **filename

  • 我们在使用 nodejs,可能需要对 node_modules 开放一些目录,fs 取的是绝对路径,而我们在不同的环境下,node_modules 可能存在于 不同的 根目录中,这个时候我们就要用到 join()方法 来吧绝对路径进行一个转换, 来获取一个动态的绝对路径
app.use("/public/", express.static(path.join(__dirname, "./public/")))
app.use(
  "/node_modules/",
  express.static(path.join(__dirname, "./node_modules/"))
)
  • 这里我们开放了 public 和 node_modules 这 2 个 目录文件夹

  • **dirname 和 **filename

    • 动态的 获取当前文件或者文件所处目录的绝对路径
    • 用来解决文件操作路劲的相对路径问题
    • 因为在文件操作中,相对路径相对于执行 node 命令所处的目录
    • 所以为了尽量避免这个问题,都建议文件操作的相对路径都转为:动态的绝对路径
    • 方式:path.join(__dirname, '文件名')
  • **dirname 和 **filename 是模块中 的一个内置成员,他们分别是:

  • __dirname 是当前文件夹的绝对路径
  • __filename 是当前文件的绝对路径
  • 一般情况下都是 配合 join 方法使用的,把当前相对路径转换为 动态的绝对路径

关注本站 RSS
© 2024, 滇ICP备19003866号
本网站版权归本站作者Ruoduan所有
原创文章遵循CC BY-SA 4.0授权许可,转载请注明出处