基础介绍

node环境下的相关操作 - 具体可参考 REPL 模块

.help - 列出使用命令
.break - 退出多行表达式
.clear – 1、退出多行表达式    2、清除REPL运行环境的上下文对象中保存的所有变量和函数
.exit – 退出REPL运行环境
.save filename - 保存当前的 Node REPL 会话到指定文件
.load filename - 载入当前 Node REPL 会话的文件内容

ctrl + c:.break
ctrl + c (两次):.exit
ctrl + d:.exit
向上/向下 键 - 查看输入的历史命令
tab 键 - 查看当前作用域下的所有可用的方法

REPL(交互式解释器) R Read - 读取 E Eval - 运算 P Print - 打印输出 L Loop - 重复 在REPL运行环境中使用下划线字符(“_”)来访问最近使用的表达式,但是不意味着可以改变变量的值

模块系统

  • 作用:为了更好组织、管理代码,nodejs引入了模块

  • 定义:一个文件就是一个独立的模块

  • 特点:每个模块都有自己的独立作用域 - 模块作用域

  • 扩展:作用域 1. 全局作用域 2. 函数作用域 3. 块级作用域(es2015+) 4. 模块作用域

Node.js核心模块

全局对象

全局对象global,其最根本的作用是作为一个全局变量的宿主。 按照ECMAScript定义,满足以下条件的变量是全局变量:

  • 在最外层定义的变量

  • 全局对象的属性

  • 隐式定义的变量(未定义直接赋值的变量)

在Node.js中你不可能在最外层定义变量,因为所有用户代码都是输入当前模块的,而模块本身不是最外层上下文。

process: 用于描述当前Node.js进程状态的对象,提供了一个与操作系统的简单接口。

  • process.argv

    process.argv 属性返回一个数组,这个数组包含了启动Node.js进程时的命令行参数。

    第一个元素为process.execPath。即Node.js进程的可执行文件所在的绝对路径

    第二个元素为当前执行的JavaScript文件路径。

    剩余的元素为其他命令行参数。

    ```

    node index.js 1991 name=chenfangxu --v "lalla"

[ '/usr/local/Cellar/node/7.9.0/bin/node', '/Users/cfangxu/project/demo/myNEapp/site/index.js', '1991', 'name=chenfangxu', '--v', 'lalla' ]

只有一个参数,不会格式化,而是直接返回字符串。 util.format('%% %s'); // '%% %s'

```

  • util.inspect(object[, options])

  • options

    • showHidden 如果为 true,则 object 的不可枚举的符号与属性也会被包括在格式化后的结果中。 默认为 false。

    • depth 指定格式化 object 时递归的次数。 这对查看大型复杂对象很有用。 默认为 2。 若要无限地递归则传入 null。

    • colors 如果为 true,则输出样式使用 ANSI 颜色代码。 默认为 false。 颜色可自定义。

    • customInspect 如果为 false,则 object 上自定义的 inspect(depth, opts) 函数不会被调用。 默认为 true。

    • showProxy 如果为 true,则 Proxy 对象的对象和函数会展示它们的 target 和 handler 对象。 默认为 false。

    • maxArrayLength 指定格式化时数组和 TypedArray 元素能包含的最大数量。 默认为 100。 设为 null 则显示全部数组元素。 设为 0 或负数则不显式数组元素。

    • breakLength 一个对象的键被拆分成多行的长度。 设为 Infinity 则格式化一个对象为单行。 默认为 60。

文件系统fs

fs模块是文件操作的封装,它提供了文件的读取、写入、更名、删除、遍历目录、链接等POSIX文件系统的操作。 与其他模块不同,fs模块中大部分的操作都提供了异步的和同步的两个版本。

注意: Node.js的异步编程接口习惯是以函数的最后一个参数为回调函数,通常一个函数只有一个回调函数。回调函数的实际参数中第一个是err,其余的参数是其他返回的内容。如果没有发生错误,err的值会是null或undefined,如果有错误发生,err通常是Error对象的实例。

注意: 与同步I/O函数不同,Node.js中的异步函数大多没有返回值。

  • fs.open方法中有参数mode,用于创建文件时给文件指定权限,默认为0o666。回调函数将会传递一个文件描述符fd。

    文件权限: 是POSIX操作系统中对文件读取和访问权限的规范,通常用一个八进制数来表示。例如0o754表示文件所有者的权限是7(读、写、执行),同组的用户权限是5(读,执行),其他用户的权限是4(读),写成字符表示就是 -rwxr-xr--。

    文件描述符: 是一个非负整数,表示操作系统内核为当前进程所维护的打开文件的记录表索引。

module

可跳转JavaScript的模块#Node.js模块查看

Last updated

Was this helpful?