所以我们可以将一些经常需要访问的程序和文件的路径添加到path中,这样我们就可以在任意位置来访问这些文件和程序了。...(1)exports对象 exports:该对象用来将变量或函数暴露到外部。 nodejs中,导出当前模块的成员,可以用exports,也可以用module.exports。...console.log(__filename); // E:\kw\kwstudy\nodeJS\L01\index03.js (5)__dirname变量 返回当前模块文件所在目录的绝对路径。...该方法会根据当前nodejs所在的系统环境,返回正确格式的拼接路径。 不同的操作系统,路径的拼接符是不一样的。...console.log(path.resolve()); // E:\kw\kwstudy\nodeJS\1028 全局变量__dirname也是返回当前模块所在目录的绝对路径 console.log
最近公司的一个开发项目,后端用的是nodejs。这两天需要打包给客户演示,就让公司一个小伙把之前3D机房的打包工具移植过来。打包之后,发现原本在开发环境下的跑的好好的项目,不能访问了。...将静态资源文件所在的目录作为参数传递给 express.static 中间件就可以提供静态资源文件的访问了。...nodejs 当前工作目录 current working directory nodejs 当前工作目录是启动Node的目录。也就是说,从哪个目录进去启动node,就返回哪个目录。...注意,这个目录不是指js文件所在的目录 通过process.cwd()方法可以获取当前工作目录。...啥意思呢,及时返回nodejs 的js文件的所在目录。 有了这个变量之后,我们就可以用如下代码解决这个问题。
一.NodeJS简介 1.1 了解NodeJS 简单的说 Node.js 就是运行在服务端的 JavaScript。...Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。...如果有的小伙伴们安装上去之后 还是不能使用nodejs。 (将node.exe 所在的文件目录,放到系统环境变量中即可。) 环境变量: window环境下 有一个变量值,path上(都是一些路径)。...window执行程序(exe,msi,bat,…cmd…, 这些程序都是可以在window进行执行的。) path放的就是 可执行性文件 所在的目录。...继续访问127.0.0.1:8888你会发现无法访问说明关闭成功。
应用程序) 六、nodejs安装配置 官网下载 自动安装 校验是否安装成功: node -v 环境变量会自动配置,如果现实不是内部命令或者外部命令,则配置环境变量 环境变量的意义,当执行某个程序时候...,先在当前目录查找, 如果有该程序,则执行,如果没有,到环境变量里面找,有则执行 七、nvm-windows管理一台计算机上的多个node版本 ?...Alignment 代码对齐,如写几个变量,选中这几行,Ctrl+Alt+A,哇,齐了。 9. Ctags 函数跳转,我的电脑上是Alt+点击 函数名称,会跳转到相应的函数 10..../相对路径的问题 解决:_dirname 、_filename _dirname:表示,当前正在执行的js文件所在的目录 _filename表示,当前正在执行的js文件的完整目录 ?.../"表示的是当前执行node命令的那个路径,不是被执行的js文件的路径 dirname,表示的永远是“当前被执行的js的目录 filename,表示的是"被执行的 s的文件名(含路径)" 5、
它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。 上面代码在代码块之中,分别用let和var声明了两个变量。...然后在代码块之外调用这两个变量,结果let声明的变量报错,var声明的变量返回了正确的值。...这表明,let声明的变量只在它所在的代码块有效 javascript' src='vue.min.js'> 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。.../ 当前this指向了定义时所在的对象(window) console.log(this); } } person2.fav(); 打印的结果: 使用箭头函数
先来简单介绍nodeJS 我们知道JavaScript是运行在浏览器中的,浏览器为它提供了一个上下文(context),从而让JavaScript得以解析执行。...因为它使用了Google的V8虚拟机(Google的Chrome浏览器使用的上下文环境),所以代码可以同理德被执行。 nodeJS除了可以在浏览器端显示结果之外,还可以直接在控制台输出。...安装成功之后最新版本的默认已经帮你放进系统路径里边去了,不必管了。 之后可以到开始菜单里边找到nodeJS打开其命令行进入,默认是进入C盘的,一般还是切换到安装路径所在盘,比如我的是E盘 ? ?...在编写每个模块时,都有require、exports、module三个预先定义好的变量可供使用。 require函数用于在当前模块中加载和使用别的模块,传入一个模块名,返回一个模块导出对象。...别的模块通过require函数使用当前模块时得到的就是当前模块的exports对象。
简单表达式运算 使用变量 多行表达式 下划线(_)变量 REPL命令 语法 官网的文档很全,不需要多说什么 http://nodejs.cn/api/ 全局对象 JavaScript 中有一个特殊的对象...,称为全局对象(Global Object),它及其所有的属性都可以在程序的任何地方访问,即全局变量。...所有的全局变量都是global对象的属性,global最根本的作用是作为全局变量的宿主。 在node.js中不会有全局变量,因为用户代码都是属于当前模块的。。...全局变量 __filename: 指向当前运行的脚本文件名。 __dirname: 指向当前运行脚本所在的目录。...Util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足 OS 模块 提供基本的系统操作函数。
也许javascript自己都忘记了还可以做服务器端编程,直到2009年nodejs的横空出世。 nodejs的历史 javascript作为一门解释性语言,是不需要像C或者C++那样进行编译的。...而nodejs的npm仓库,托管着全球最大的开源库生态系统。 基本上使用nodejs你可以实现绝大多数需要的功能。...process process 对象是一个全局变量,提供了有关当前 Node.js 进程的信息并对其进行控制。 作为全局变量,它始终可供 Node.js 应用程序使用,无需使用 require()。...它也可以使用 require() 显式地访问。 因为process代表的是nodejs的进程信息,所以可以处理进程终止,读取环境变量,接收命令行参数等作用。...nodejs API 除了我们上面提到的http,process, nodejs还提供了很多其他非常有用的API : nodejs的框架 除了基本的nodejs之外,nodejs还有非常多优秀的框架,
也许javascript自己都忘记了还可以做服务器端编程,直到2009年nodejs的横空出世。 nodejs的历史 javascript作为一门解释性语言,是不需要像C或者C++那样进行编译的。...基本上使用nodejs你可以实现绝大多数需要的功能。 nodejs的另外一个特点就是简单,考虑一下我们最常用的web应用,如果用java来写,非常麻烦,你还需要一个web服务器。...process process 对象是一个全局变量,提供了有关当前 Node.js 进程的信息并对其进行控制。作为全局变量,它始终可供 Node.js 应用程序使用,无需使用 require()。...它也可以使用 require() 显式地访问。 因为process代表的是nodejs的进程信息,所以可以处理进程终止,读取环境变量,接收命令行参数等作用。...nodejs的框架 除了基本的nodejs之外,nodejs还有非常多优秀的框架,借助这些框架我们可以是nodejs程序的搭建更加容易和强大。
PhantomJS的用处可谓非常广泛,诸如前端无界面自动化测试(需要结合Jasmin)、网络监测、网页截屏等。...延伸链接 PhantomJS官方地址 PhantomJS官方API PhantomJS官方示例 PhantomJS GitHub ##安装 打开我的电脑->右键属性->高级系统设置->高级标签->环境变量...,在系统变量里找到Path,将phantomjs.exe所在目录路径添加到环境变量里。...,它给用户提供了访问、操作、选择web文档的接口 运行page.open函数,其中第一个参数是你要访问的url,第二个参数是一个回调函数。...system: 该模块提供了一些与操作系统相关的接口,例如访问操作系统信息、访问系统环境变量、接受命令行参数等等与程序执行相关的系统信息。 fs:即FileSystem。
nodejs简介 Node.js是JavaScript在服务器端的一个运行环境,也是一个工具库,用来与服务器端其他软件互动。它的JavaScript解释器,采用了Google公司的V8引擎。...为了实现高性能服务器,实现要点是: 事件驱动 非阻塞I/O(异步I/O) nodejs的特点 异步I/O 事件与回调函数 单线程 nodejs优缺点 优点 高并发(最重要的优点) 适合I/O密集型应用...安装完成后,在命令行中,执行node -v即可看到安装的nodejs的版本。 ps:若在命令行中执行node -v报“node 不是内部或外部命令”,只要将node的安装路径加入环境变量即可。...engines:指明了该项目所需要的node.js版本。...《深入浅出nodejs》 资源 官网 nodejs 核心模块api文档 邮件订阅nodejs weekly nodejs 模块推荐网站 最受欢迎的 node网站node cloud 我的学习node的
在最近的工作中,需要对新开发的Nodejs系统进行代码安全review,于是便有了这篇文章。...关于Nodejs的安全问题,可能涉及到SSJS注入(服务端JavaScript注入)和身份认证,以及Http头相关的安全设置等安全隐患。...在此之前,还是想先分享一些技术之外的东西,不如先来品尝一下开胃菜吧。...1、一起读书 ---- “无论在什么情况下,我都决意要保持喜悦与快乐,因为我经验中学到,我们的快乐或痛苦,很大一部分取决于我们的性情,而不是环境。” ——玛莎.华盛顿 ?...需要指定数据所在目录,回到最开始 .
JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。...在 Node.js 我们可以直接访问到 global 的属性,而不需要在应用中包含它。 ---- 全局对象与全局变量 global 最根本的作用是作为全局变量的宿主。...需要注 意的是,在 Node.js 中你不可能在最外层定义变量,因为所有用户代码都是属于当前模块的, 而模块本身不是最外层上下文。...main.js /web/com/runoob/nodejs/main.js ---- __dirname __dirname 表示当前执行脚本所在的目录。...main.js /web/com/runoob/nodejs ---- setTimeout(cb, ms) setTimeout(cb, ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)
嗯,你没听错,最近正好碰到了这样的需求,需要在前端和 Node 端抹平动态引入模块的逻辑,好,下面我们来模仿 Module 模块实现一个前端环境的 JavaScript 模块执行器。...JavaScript 代码可以被编译并立即运行,或编译、保存然后再运行。 vm.runInThisContext() 在当前的 global 对象的上下文中编译并执行 code,最后返回结果。...它和 eval 有两点区别: fn 是一段编译好的代码,可以直接执行,而 eval 需要编译一次 fn 没有对所在闭包的作用域访问权限,不过它依然能够访问全局作用域 但是这仍然不能解决访问全局作用域的问题...with 代码块中的代码会首先试图从传入的沙箱对象获得变量,但是如果没找到,则会在闭包和全局作用域中寻找。闭包作用域的访问可以用new Function() 来避免,所以我们只需要处理全局作用域。...在块中访问每个变量,都会使用 variable in sandbox 条件进行判断。若条件为真,则从沙箱对象中读取变量。否则,它会在全局作用域中寻找变量。
1、简述JavaScript中的基本数据类型都有哪些 数值Number、字符串String、布尔Boolean、Null空值类型、Undefined无效值类型、Symbol唯一值类型 [Object对象类型...4、简述var 和 let声明变量的优缺点 var是原生JS中声明变量推荐的方式,let是ES6语法中推荐声明变量的方式,项目中开发中优先推荐使用let声明并使用变量; var声明的变量最大的优点是声明预解析...NodeJS为了方便前端/后端项目的独立管理,通过node init命令初始化一个项目文件夹为NodeJS应用,初始化完成后会在文件夹中生成标志性配置文件package.json,文件中存储了当前项目的初始配置...安装模块的命令npm install 选项 -g选项表示全局安装,安装的模块在当前计算机中的任何NodeJS应用中都可以访问 -S选项表示局部安装/项目安装,安装的模块只在当前项目中使用...,项目开发中除了通用模块之外建议使用项目安装的方式
因此,阻塞是按顺序执行的,而非阻塞是不需要按顺序的,所以如果需要处理回调函数的参数,我们就需要写在回调函数内。...Node.js中函数的使用与Javascript类似 11.1 参数函数 [root@hadron nodejs]# mkdir fun [root@hadron nodejs]# cd fun [root...在 Node.js 我们可以直接访问到 global 的属性,而不需要在应用中包含它。 global 最根本的作用是作为全局变量的宿主。...13.2 __dirname __dirname 表示当前执行脚本所在的目录。...env:返回一个对象,成员为当前 shell 的环境变量 exitCode:进程退出时的代码,如果进程优通过 process.exit() 退出,不需要指定退出码。
最近因为项目需要使用nodejs,因此不得不对其进行学习研究。一番深入后发现,nodejs除了好用,作为后台效率非常高之外,它自身的设计堪称精妙。...在nodejs开发中我们会使用require将很多功能模块加载到应用中,假设我们需要使用它的文件系统进行本地文件读写,那么我们需要使用如下语句先加载fs模块: require('fs') fs.writeFile...,我默认nodejs已经在你的系统上安装完毕。...= local_string exports.log = ()=> { console.log(local_string) } 它的内容很简单,就是导出一个变量和函数,引入这个模块的代码可以访问变量...从代码实现看,require的本质就是将要加载的代码内容先拷贝到当前代码中,只不过用一个函数将代码内容包裹住,然后通过eval函数执行包裹函数,包裹函数传入的参数是module, module.exports
之前有写过一篇nodejs入门包括服务器的各种配置,npm安装。这篇文章也得到了很多人的肯定,在这里我也非常的感谢大家。...c=login 根据index获取当前的controller,根据c的参数获取当前需要访问的action,这样 我们的一个controller只对应一个配置信息。从而减少读取配置文件的时间。...这里我只介绍如何new一个controller同时,访问对象的一个action的方式 Nodejs不像PHP有一个call_function函数可以执行访问对象中的某个方法名函数。...我们需要以下要求和需要解决的问题: 1、 因为express中的req和res是必须要贯穿整个系统的,因此我们必须把这两个参数作为基类的变量,以便继承类中可以随时的调用; 2、 如何new一个字符串的controller...: 1、 我们可以定义一个init构造函数 controllerObj.init(req, res) 2、 利用JavaScript中的eval 例如: var controllerObj = eval
大家好,又见面了,我是你们的朋友全栈君。...要在程序中使用模块是十分方便的,只需要如下: 在这里,引入了http类库,并且对http类库的引用存放在http变量中了。.../myModule.js'); 模块中包含了很多功能代码片断,在模块中的代码大部分都是私有的,意思是在模块中定义的函数方法和变量,都只能在同一个模块中被调用。...,也可以理解为用来安装/卸载Node.js需要装的东西 nodejs(zip)方式的安装 解压之后直接把名字修改为node-v10.15.3,里面的目录往前提一级。...**“我的电脑”-右键-“属性”-“高级系统设置”-“高级”-“环境变量”-“path”**,如图; 创建完两个空文件夹之后,打开cmd命令窗口,输入; npm config set prefix “F
你觉得自己对JavaScript了解多少?你可能知道如何编写函数,理解简单的算法,甚至可以编写类。但是你知道类型化数组是什么吗? 你现在不需要知道所有这些概念,但你最终会在以后的职业生涯中需要它们。...这就是为什么我建议把这个列表收藏起来,因为你可能会遇到其中一个,然后你会需要一个教程来完全理解它。 我们归纳了 33 个前端开发者需要知道的 Javascript 核心概念。...调用堆栈 调用栈是一种解释器机制(就像网页浏览器中的JavaScript解释器),用来跟踪它在调用多个函数的脚本中的位置——当前正在运行的函数以及在该函数中调用了哪些函数等等。...采用 let或者 const 声明的变量会挟持所在块的作用域,也就是说,这声明关键字会将变量绑定到所在的任意作用域中(通常是 {...}内部)。...闭包 闭包是将一个函数捆绑在一起(封装在一起),并引用其周围的状态(词法环境)的组合。换句话说,闭包使您能够从内部函数访问外部函数的作用域。在JavaScript中,闭包是在每次创建函数时创建的。
领取专属 10元无门槛券
手把手带您无忧上云