nodejs的__dirname与__filename】的更多相关文章

假定我们有这样一个mynode的node项目在User/leinov/porject/文件夹下,cli是一个可执行文件 |-- mynode |-- bin |-- cli.js |-- src |-- index.js |-- app.js |-- index.scss __dirname 获取当前执行文件所在目录的完整目录名,无论我们在哪里执行(没有npm link的情况下)cli.js,都会返回 $ User/leinov/porject/mynode/bin/ __filename 获得…
__filename变量获取当前模块文件的带有完整绝对路径的文件名:[包含文件名本身的绝对路径] __dirname变量获得当前文件所在目录的完整目录名.[不包含文件名本身的绝对路径] 该方法用于获取一个路径中的目录名,使用方式如下: path.dirname(p); 该方法使用一个参数,参数为一个路径可以是相对路径,绝对路径,可以为一个目录的路径,也可以为一个文件的路径.当参数值为目录路径时,该方法返回该目录的上层目录:当参数值为文件路径时,该方法返回该文件所在的目录. var dirname…
探索 计算机不会欺骗人,一切按照规则执行,说找不到这个文件,那肯定就是真的找不到,至于为什么找不到,那就是因为我们理解有偏差,我最初理解的'./'是当前执行js文件所在的文件夹的绝对路径,然后Node.js的理解却不是这样的,我们慢慢往下看. Node.js中的文件路径大概有 __dirname, __filename, process.cwd(), ./ 或者 ../,前三个都是绝对路径,为了便于比较,./ 和 ../ 我们通过 path.resolve('./')来转换为绝对路径. 简单说一…
简单说一下这几个路径的意思,: __dirname: 获得当前执行文件所在目录的完整目录名 __filename: 获得当前执行文件的带有完整绝对路径的文件名 process.cwd():获得当前执行node命令时候的文件夹目录名 ./: 文件所在目录 先看一看我电脑当前的目录结构: syntax/ -nodejs/ -1.findLargest.js -2.path.js -3.fs.js -regs -regx.js -test.txt 在 path.js 里面我们写这些代码,看看输出是什么…
node的内置常量 __ dirname和 __ filename __dirname当前文件(你用node运行的文件)所在的文件夹地址 // dirname.js console.log(__dirname); 运行 D:\0-code-0\Web\JavaScript > node dirname.js # 输出 D:\0-code-0\Web\JavaScript __filename当前文件的完整地址(精确到你所运行的那个js文件) // filename.js console.log(…
直接上结论:__dirname 表示当前文件所在的目录的绝对路径__filename 表示当前文件的绝对路径module.filename ==== __filename 等价process.cwd() 返回运行当前脚本的工作目录的路径process.chdir() 改变工作目录 例子,文件路径有如下结构:newapp > demo > hello.js 在hello.js文件中编写如下代码: console.log(__dirname); console.log(__filename); c…
(1) __filename变量 node.js中,在任何模块文件内部,可以使用__filename变量获取当前模块文件的带有完整绝对路径的文件名. 在应用程序根目录下新建app.js文件,其中代码如下所示. var testModule1=require(‘./test/testModule.js’); 在应用程序根目录下新建一个test子目录,在该目录下新建一个testModule.js文件,其中代码如下所示. console.log(__filename); 在命令行窗口中输入“node…
直接上结论:__dirname 表示当前文件所在的目录的绝对路径__filename 表示当前文件的绝对路径module.filename ==== __filename 等价process.cwd() 返回运行当前脚本的工作目录的路径 例子,文件路径有如下结构:newapp > demo > hello.js 在hello.js文件中编写如下代码: console.log(__dirname); console.log(__filename); console.log(module.file…
__dirname 表示当前文件所在的目录的绝对路径__filename 表示当前文件的绝对路径module.filename ==== __filename 等价process.cwd() 返回运行当前脚本的工作目录的路径process.chdir() 改变工作目录 例子,文件路径有如下结构:newapp > demo > hello.js 在hello.js文件中编写如下代码: console.log(__dirname); console.log(__filename); console…
1.process cwd() 方法返回 Node.js 进程当前工作的目录 例:我在F:\自己的文件\自己在网上学习的知识点\node学习\node-API\process 这个文件加下面创建了一个test.js在该js文件中写下下面的代码,然后右键 run test.js const cwd = process.cwd();console.log(cwd); 输出如下 F:\自己的文件\自己在网上学习的知识点\node学习\node-API\process 2.__dirname 是node…
参考博客:https://github.com/jawil/blog/issues/18…
第一章 建议学习时间2小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑.编写接口,最后完成一个完整的项目后台,预计共10天课程. 每日更新,建议跟学,按照本教程学习一定可以学好Nodejs,中途发现教程有误的地方,请及时留言反馈 node.js安装 通过官网下载 node.js 中文网下载地址 http://nodejs.cn/download/ windows系统我们…
本文只讨论 CommonJS 规范,不涉及 ESM 我们知道 JavaScript 这门语言诞生之初主要是为了完成网页上表单的一些规则校验以及动画制作,所以布兰登.艾奇(Brendan Eich)只花了一周多就把 JavaScript 设计出来了.可以说 JavaScript 从出生开始就带着许多缺陷和缺点,这一点一直被其他语言的编程者所嘲笑.随着 BS 开发模式渐渐地火了起来,JavaScript 所要承担的责任也越来越大,ECMA 接手标准化之后也渐渐的开始完善了起来. 在 ES 6 之前,…
一.概念 1.什么是nodejs Node.js是JavaScript 运行时环境,通俗易懂的讲,Node.js是JavaScript的运行平台 Node.js既不是语言,也不是框架,它是一个平台 2.nodejs特点 没有Bom,Dom 在Node中这个JavaScript执行环境为JavaScript提供了一些服务器级别的API 例如文件的读写 网络服务的构建 网络通信 http服务器 构建在Chrome的V8引擎之上,意味着nodejs的执行效率很高 基于事件驱动envent-driven…
主流渲染引擎介绍1.渲染引擎又叫 排版引擎 或 浏览器内核 .(双内核:执行html和css的)2,主流的渲染引擎有**Chrome浏览器**:Blink引壁(WebKit的一个分支)**Safari浏览器**:WebKit引擎,windows版本2008年3月18日推出正式版,但苹果已于2012年7月25日停止开发Windows版的Safari.**FireFox浏览器**:Gecko引擎,**Operai浏览器**:Blink引擎(早期版使用Presto引擎).**Internet Expl…
一.动态获取文件路径 var fs = require('fs') var path = require('path') // 一般在开发命令行工具的时候,这个设计是必须有用的一个特性 // npm // webpack // __dirname 和 __filename 这俩就是专门用来动态获取当前文件以及文件所属目录的绝对路径 fs.readFile(path.join(__dirname, './00-文件路径.js'), function (err, data) { if (err) {…
1.  nodejs函数 path()  nodejs全局变量 __dirname a.js // 运行 node a.js var path = require('path'); console.log(path.resolve()); // 不传参,会返回当前文件的绝对路径 console.log(__dirname); // 也是当前文件的绝对路径 console.log(path.resolve(__dirname)); console.log(path.resolve(__dirnam…
在webpack.config.js中添加如下配置: target: 'node', node: { __dirname: false, __filename: false, } 详见:https://github.com/webpack/webpack/issues/1599…
"no-alert": 0,//禁止使用alert confirm prompt "no-array-constructor": 2,//禁止使用数组构造器 "no-bitwise": 0,//禁止使用按位运算符 "no-caller": 1,//禁止使用arguments.caller或arguments.callee "no-catch-shadow": 2,//禁止catch子句参数与外部作用域变量同…
,//禁止使用alert confirm prompt ,//禁止使用数组构造器 ,//禁止使用按位运算符 ,//禁止使用arguments.caller或arguments.callee ,//禁止catch子句参数与外部作用域变量同名 ,//禁止给类赋值 ,//禁止在条件表达式中使用赋值语句 ,//禁止使用console ,//禁止修改const声明的变量 ,//禁止在条件中使用常量表达式 if(true) if(1) ,//禁止使用continue ,//禁止在正则表达式中使用控制字符 ,…
目录 第二章 - 04: Javascript 模块化管理的来世今生 一.什么是模块化开发 1-1.模块化第一阶段 1-2.封装到对象 1-3. 对象的优化 二.模块化管理的发展历程 2-1.CommonJS 2-2.CommonJS 与 ES6(ES2015) 的 import export 2-2-1. ES6 的 export 2-2-2. ES6 的 import 2-3.AMD 的 RequireJS 2-4.CMD 的 SaeJS 2-5.AMD 的 RequireJS 和 CMD…
什么是 ESLint ESLint(中文站点)是一个开源的 JavaScript 代码检查工具,使用 Node.js 编写,由 Nicholas C. Zakas 于 2013 年 6 月创建.ESLint 的初衷是为了让程序员可以创建自己的检测规则,使其可以在编码的过程中发现问题而不是在执行的过程中.ESLint 的所有规则都被设计成可插入的,为了方便使用,ESLint 内置了一些规则,在这基础上也可以增加自定义规则. 安装 ESLint 扩展 安装环境 VSCode V1.11.1 Wind…
默认eslint规则: 代码末尾不能加分号 ;(强迫症的我受不了)代码中不能存在多行空行:(这个我更也忍不了)tab键不能使用,必须换成两个空格:(超级不习惯)代码中不能存在声明了但未使用的变量:(这个我觉得可以有) 最简单的方法,关闭eslint检测,其实很简单,把 build/webpack.base.conf.js 配置文件中的eslint rules注释掉即可.但我不推荐你这么做,eslint检测是有必要的,能保持良好的代码风格. 第二种方法就是把不符合自己习惯的规则去掉,找到配置文件,…
"no-alert": 0,//禁止使用alert confirm prompt "no-array-constructor": 2,//禁止使用数组构造器 "no-bitwise": 0,//禁止使用按位运算符 "no-caller": 1,//禁止使用arguments.caller或arguments.callee "no-catch-shadow": 2,//禁止catch子句参数与外部作用域变量同…
如下:package.json // package.json { "name": "ecommerce-mall-front", "version": "0.1.0", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "…
"no-alert": 0,//禁止使用alert confirm prompt"no-array-constructor": 2,//禁止使用数组构造器"no-bitwise": 0,//禁止使用按位运算符"no-caller": 1,//禁止使用arguments.caller或arguments.callee"no-catch-shadow": 2,//禁止catch子句参数与外部作用域变量同名&qu…
vue-cli3按照官网教程配置搭建后,发现每次编译,eslint都抛出错误, 修改配置在 .eslintrc.js中修改   或者  关闭eslint 1.关闭eslint 直接注释掉package.json文件中eslint的配置就可以了(以下是vue-cli的默认配置) "eslintConfig": { "root": true,////此项是用来告诉eslint找当前配置文件不能往父级查找 "env": { "node&quo…
ESLint 有什么用,为什么要使用?   ESLint是一套可自定义规则的JS代码检查与修复工具 目标是保存团队代码的一致性和避免错误并且修复错误.减少团队沟通成本   "no-alert": 0,//禁止使用alert confirm prompt "no-array-constructor": 2,//禁止使用数组构造器 "no-bitwise": 0,//禁止使用按位运算符 "no-caller": 1,//禁止使用a…
最近在跟着视频敲项目时,代码提示出现很多奇奇怪怪的错误提示,百度了一下是eslintrc.js文件没有配置相关命令,ESlint的语法检测真的令人抓狂,现在总结一下这些命令的解释,方便以后查阅. 默认eslint规则: 代码末尾不能加分号 ;(强迫症的我受不了哭) 代码中不能存在多行空行:(这个我更也忍不了大哭) tab键不能使用,必须换成两个空格:(超级不习惯) 代码中不能存在声明了但未使用的变量:(这个我觉得可以有) 最简单的方法,关闭eslint检测得意,其实很简单,把 build/web…
中文官方网站 安装 可以全局安装,也可以在项目下面安装. 如下是在项目中安装示例,只需要在 package.json 中添加如下配置,并进行安装: “eslint”: “^4.11.0” 配置 配置方式有两种,但建议使用文件配置的形式,比较独立,便于维护. 使用文件配置的方式:在项目的根目录下,新建一个名为 .eslintrc 的文件,在此文件中添加一些检查规则. 文件配置方式 env:你的脚本将要运行在什么环境中 Environment可以预设好的其他环境的全局变量,如brower.node环…