美文网首页
nodejs 全局属性__dirname 和 ./ 的区别

nodejs 全局属性__dirname 和 ./ 的区别

作者: IamaStupid | 来源:发表于2020-06-08 10:58 被阅读0次

Node.js 中,__dirname 总是指向被执行 js 文件的绝对路径,当你在 d://project/nodeTest/src/test.js 文件中写了 __dirname, 它的值就是d:/project/nodeTest/ src。

相反,./ 会返回你执行 node 命令的路径,例如你的工作路径。

// ./src/test.js
console.log(". = %s", path.resolve("."));
console.log("__dirname = %s", path.resolve(__dirname));
console.log("./ = %s", path.resolve("./"));

// ./app.js
global.ROOT = __dirname
let path = require('path')
console.log(". = %s", path.resolve("."));
console.log("__dirname = %s", path.resolve(__dirname));
console.log("./ = %s", path.resolve("./"));
require("./src/test")

运行node app.js,结果:
. = E:\demo\nodeTest
__dirname = E:\demo\nodeTest
./ = E:\demo\nodeTest
------------------------
. = E:\demo\nodeTest
__dirname = E:\demo\nodeTest\src
./ = E:\demo\nodeTest

__dirname是nodejs Global对象下面的全局属性。

全局属性除了__dirname,常见的还有:
__filename
global
class
module
exports
process
console
require()
......

相关文章

  • nodejs 全局属性__dirname 和 ./ 的区别

    Node.js 中,__dirname 总是指向被执行 js 文件的绝对路径,当你在 d://project/no...

  • 05--NodeJS核心基础-Node全局对象上的属性

    和浏览器一样NodeJS环境中的全局对象也给我们提供了很多方法属性供我们使用中文文档地址 __dirname: 当...

  • nodejs 全局变量和内置模块

    所谓全局就是可以直接使用,无需安装依赖 1. nodejs 常见的全局变量 __dirname,当前执行文件的绝...

  • 静态服务器模块

    Node.js 中 __dirname 和 ./ 的区别 Node.js 中,__dirname 总是指向被执行 ...

  • Node.js中文件操作的两个变量__dirname和__fil

    Node.js中提供了两个与文件操作相关全局可用变量__dirname和__filename,__dirname表...

  • Javascript-BOM

    一、window对象 1、全局作用域 在全局作用域中定义的变量和函数都会变成window对象的属性和方法 区别: ...

  • Node.js 核心模块--全局对象

    nodejs中有一个全局对象 global,所有的全局变量都是global对象的属性,glabal最根本的作用是作...

  • 闭包

    执行环境 在javscript中执行环境主要分为两种 全局执行环境:NodeJs中为global,所有的全景属性和...

  • 前端JS指南

    1. document对象 && window对象 所有的全局函数和对象都属于window对象的属性和方法。 区别...

  • js基础

    声明变量带var和不带var的区别? 在全局作用域中申明变量相当于给全局对象window增加了一个属性名在全局作用...

网友评论

      本文标题:nodejs 全局属性__dirname 和 ./ 的区别

      本文链接:https://www.haomeiwen.com/subject/duzwzhtx.html