Node.js
命令行窗口、cmd、终端、shell
-
常用的指令(windows系统) dir 列出当前目录下所有文件 cd 目录名 进入到指定的目录 ? . 表示当前目录 ? … 表示上一级目录 md 目录名 创建一个文件夹 rd 目录名 删除一个文件夹 -
环境变量(windows系统中的变量) path环境变量 -path中保存的是一个一个的路径,路径之间用;隔开 当我们在命令行窗口打开一个文件、或调用一个程序时 系统会首先在当前目录下寻找文件程序,如果找到了则直接打开 如果没有找到,则会依次到环境变量path的路径中寻找,直到找到位置 如果没有找到则报错 可以将经常需要访问的程序和文件的路径添加到path中,这样我们就可以在任意位置来访问这些文件和程序了
进程和线程
进程
- 进程负责为程序的运行提供必备的环境
- 进程相当于工厂中的车间
线程
- 线程是计算机中的最小的计算单位,线程负责执行进程中的程序
- 线程相当于工厂中的工人
单线程
- JS是单线程的,浏览器是单线程的
- Node处理请求时是单线程的,但是在后台有一个I/O线程池
多线程
Node简介
安装Node
命令行中找到指定的文件所在的目录,命令行中输入
? node 文件名.js
模块化简介
ECMAScript标准的缺陷
-
没有模块系统 -
标准库较少 -
没有标准接口 -
缺乏管理系统
模块化
CommomJS的模块功能可以帮我们解决该问题
CommonJS的提出,主要是为了弥补当前JavaScript没有标准的缺陷
CommonJS对模块的定义十分简单
在Node中,一个js文件就是一个模块
-
require( )可以传递一个文件的路径作为参数,node将会自动根据该路径来引入外部模块 -
这里路径,如果是痛相对路径,必须使用.或…开头 -
使用require引入模块以后,该函数会返回一个对象,这个对象代表的是引入的模块 -
在Node中,每一个js文件中的js代码都是独立运行在一个函数中,而不是全局作用域,一个模块中的变量和函数在其他模块中无法访问
语法:exports.属性(方法)
向外部暴露属性或方法,我们可以通过exports 来向外部暴露变量和方法
只需要将需要暴露的给外部的变量或方法设置为exports的属性或方法即可
|