Node.js 中 __dirname 和 ./ 的区别】的更多相关文章

概要 __dirname 总是指向被执行 js 文件的绝对路径 在 /d1/d2/myscript.js 文件中写了 __dirname, 它的值就是 /d1/d2 . ./ 会返回你执行 node 命令的路径,例如你的工作路径. 有一个特殊情况是在 require() 中使用 ./ 时,这时的路径就会是含有 require() 的脚本文件的相对路径. 例如 假设有如下目录结构 /dir1 /dir2 pathtest.js 在 pathtest.js 中,有如下代码 var path = re…
一.Webstrom使用node.js IDE的问题 在区别这两个函数之前来说一下Webstrom使用node.js IDE的问题,在配置Node.js的IDE了,但setImmediate().require等这些node.js中内置的函数时并不会有提示,要解决这个问题只要设置一下Webstrom,File---->Setting---->Languages&Frameworks------>Node.js and NPM中的Node.js core Library is no…
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .学习网站上有对应每一小节的在线练习大家可以去试试. Cookie 在web应用中,多个请求之间共享“用户会话”是非常必要的.但HTTP1.0协议是无状态的.那这时Cookie就出现了.那Cookie又是如何处理的呢? Cookie的处理: 服务端向客户端发送Cookie 客户端的浏览器把Cookie保存 然后在每次…
在前端学习过程中,涉及到路径的问题非常多,相对路径,绝对路径等.有时候明明觉得没问题,但是还是会出错.或者说线下没问题,但是到了线上就出现问题,因此弄懂路径问题,非常关键.我们需要知道为什么这个地方既可以使用相对路径,又可以使用绝对路径,为什么有些地方只能使用绝对路径. 一.Node.js中加载模块的路径设置 const myClass = require('./myclass') 上面这段代码是我们在使用Node.js中经常会使用到的代码-引入模块.我们都知道如果加载的是核心模块,直接requ…
node.js中的 http 模块提供了创建服务器和客户端的方法,http 全称是超文本传输协议,基于 tcp 之上,属于应用层协议. 一.创建http服务器 const http = require('http'); //创建一个http服务器 let server = http.createServer(); //监听端口 server.listen(8888, '0.0.0.0'); //设置超时时间 server.setTimeout(2 * 60 * 1000); //服务器监听时触发…
node.js中为我们提供了fs文件系统模块,实现对文件或目录的创建,修改和删除等操作. fs模块中,所有的方法分为同步和异步两种实现. 有 sync 后缀的方法为同步方法,没有 sync 后缀的方法为异步方法. 一.文件的整个读取 const fs = require('fs'); //参数一表示读取的文件 //参数二表示读取的配置,{encoding:'null', flag:'r'} //encoding 表示编码方式 //flag 表示文件系统标志 //如果没有指定参数二中的encodi…
node.js中使用CommonJS规范实现模块功能,一个单独的文件就是一个单独的模块.通过require方法实现模块间的依赖管理. 通过require加载模块,是同步操作. 加载流程如下: 1.找到需要加载的模块文件. 2.判断是否缓存过,如果没有,则读取模块文件的内容. 3.把读取到的内容,封装在一个函数里运行. (function (exports, require, module, __filename, __dirname) { //模块的代码实际上在这里 }); 4.返回 modul…
在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作时,可以使用readFile与readFileSync方法.在所有这些方法中,方法名中具有Sync后缀的方法均为同步方法,而不具有Sync后缀的方法均为异步方法.两者的区别是:在使用同步方法执行操作结束之前,不能执行后续代码.比如如下: var fs = require(“fs”); var dat…
概要 Node.js 中,__dirname 总是指向被执行 js 文件的绝对路径,所以当你在 /d1/d2/myscript.js 文件中写了 __dirname, 它的值就是 /d1/d2 . 相反,./ 会返回你执行 node 命令的路径,例如你的工作路径. 有一个特殊情况是在 require() 中使用 ./ 时,这时的路径就会是含有 require() 的脚本文件的相对路径. 例如 假设有如下目录结构 /dir1 /dir2 pathtest.js 然后在 pathtest.js 中,…
在Node.js中,module文件里面使用var,const或者let定义的top-level变量为何是私有的,只能在这个模块文件中使用呢? 原因就是,在模块文件中的内容执行之前,node.js会降模块文件包含在一个函数当中,像下面这样: (function(exports, require, module, __filename, __dirname) { // Module code actually lives in here }); 这样处理之后,module文件里面定义的top-le…