node中__dirname、__filename、process.cwd()、process.chdir()表示的路径

直接上结论:__dirname 表示当前文件所在的目录的绝对路径__filename 表示当前文件的绝对路径module.filename ==== __filename 等价process.cwd() 返回运行当前脚本的工作目录的路径process.chdir() 改变工作目录

例子,文件路径有如下结构:newapp > demo > hello.js

在hello.js文件中编写如下代码:

console.log(__dirname);
console.log(__filename);
console.log(module.filename===__filename);
console.log(process.cwd());
process.chdir(‘/Users/jerry‘)
console.log(process.cwd());

然后定位在newapp目录下,执行命令 node demo/hello.js,输出结果如下:
/Users/jerry/51talk/newapp/demo
/Users/jerry/51talk/newapp/demo/hello.js
true
/Users/jerry/51talk/newapp/Users/jerry

来自: https://www.cnblogs.com/fhen/p/6604979.html

原文地址:https://www.cnblogs.com/facial/p/9909254.html

时间: 2024-11-13 08:54:25

node中__dirname、__filename、process.cwd()、process.chdir()表示的路径的相关文章

node 中的global对象和process对象

因为Node.js是运行在服务区端的JavaScript环境,服务器程序和浏览器程序相比,最大的特点是没有浏览器的安全限制了,而且,服务器程序必须能接收网络请求,读写文件,处理二进制内容,所以,Node.js内置的常用模块就是为了实现基本的服务器功能.这些模块在浏览器环境中是无法被执行的,因为它们的底层代码是用C/C++在Node.js运行环境中实现的. global 在前面的JavaScript课程中,我们已经知道,JavaScript有且仅有一个全局对象,在浏览器中,叫window对象.而在

nodejs __dirname 与 process.cwd()的区别

var cwd = process.cwd(); console.log(cwd); console.log(__dirname); 1 2 3 cwd() 是当前执行node命令时候的文件夹地址 __dirname 是被执行的js 文件的地址 参考文档 http://stackoverflow.com/questions/9874382/whats-the-difference-between-process-cwd-vs-dirname

关于erlang中的进程字典(process dictionary)的新理解及其访问速度 (copy来的)

之前对于erlang的进程字典了解的不够清楚,只是知道put().get()函数,即存值和取值,而每个put.get中都有自己的一对Key--Value(键值对)与之对应.一个Key对应一个Value.在erlang中,启动进程节点之后,进程字典的put.get的值是对缓存的处理,而对数据库的操作,相当于是对硬盘的一个操作,可以理解成是一个数据的备份. 举个简单的例子:在游戏中都有好友操作,启动服务之后,玩家点击添加好友操作,进程的节点已经开启,先从内存中获取玩家的进程字典的Value的值,这里

Information centric network (icn) node based on switch and network process using the node

The present invention relates to an apparatus for supporting information centric networking. An information centric network (ICN) node based on a switch according to the present invention includes an ICN process configured to request information for

Node中的全局对象

global global顶级对象,类似于浏览器中的window 在任何地方可以直接使用,不需要导包 setTimeout/setImmediate/process.nextTick,异步的时候setTimeout的优先级高于setImmediate,process.nextTick优先级最高 setInterval 在REPL环境中定义的变量直接挂载到global中 在js文件中定义的变量不会挂载到global中 获取路径 __dirname 当前执行的js所在的文件夹 __filename

Node中的全局变量和全局对象

全局对象和全局变量 概念:所有属性都可以在程序的任何地方访问,即全局变量.在JavaScript中,通常window是全局对象,而Node.js的全局对象是global,所有全局变量都是global对象的属性,如:console.process等. global最根本的作用是作为全局变量的宿主,满足一下条件称为全局变量 1. 在最外层定义的变量 2. 全局对象的属性 3. 隐式定义的变量 ▲ 在node中不可能在最外层定义变量,因为所有的用户代码都是属于当前模块的,而模块本身是不属于最外层上下文

node 进阶 | 通过node中如何捕获异常阐述express的特点

node如何捕获异常 node基于js的单线程,有了非阻塞异步回调的概念,但是在处理多个并发连接时,并发环境要求高,最重要的是单线程,单核CPU,一个进程crash则web服务都crash,但是为什么node还这么火?甚至有了Node工程师这个岗,肯定就是node有自己crash之前与之后的解决方法,比如捕获异常 问:nodejs如何捕获异常?答:回调函数中有err形参,console.log出来,这是我之前回答别人问题的答案,但是自从我这几天看了如何捕获异常,才知道捕获异常的精髓就是不要让服务

node 中的 stream

什么是 stream Stream 借鉴自 Unix 编程哲学中的 pipe. Unix shell 命令中觉的管道流式操作 | 将上一个命令的输出作为下一个命令的输入.node stream 中则是通过 .pip() 方法来进行的. 一个 stream 的运用场景.从服务器读取文件并返回给页面. 朴素的实现: var http = require('http'); var fs = require('fs'); var server = http.createServer(function (

Node中导入模块require和import??

转自:https://blog.csdn.net/wxl1555/article/details/80852326 S6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用require引入模块,使用module.exports导出接口. 不把require和import整清楚,会在未来的标准编程中死的很难看. require时代的模块 node编程中最重要的思想之一就是模块,而正