Skip to content

Latest commit

 

History

History
214 lines (130 loc) · 7.01 KB

File metadata and controls

214 lines (130 loc) · 7.01 KB

Table of Contents generated with DocToc

命令行选项

Node.js带有各种CLI选项。这些选项提供了内置调试、多种执行脚本方式和其它有用的运行选项。

在终端中运行 man node 可以查看此手册。

简介

node [options] [v8 options] [script.js | -e "scirpt"] [arguments]

node debug [script.js | -e "script" | <host>:<port>] ...

node --v8-options

执行无参数启动 REPL

选项

-v, --version

打印 Node.js 的版本号。

-h, --help

打印 Node.js 的命令行选项。当前文档内容比该输出文档详细

-e, --eval "script"

执行参数代码,如 JavasSript。在 REPL 中预定义的模块也可以在 script 代码块中使用。

译者注:node -e "var log = 'Hello World'; console.log(log)"

-p, --print "script"

-e 相同,但输出结果。

-c, --check

在不执行的情况下进行脚本语法检查。

-i, --interactive

TODO

-r, --require module

在启动时预加载指定模块。

遵循 require() 的模块解析规则。module 可以是一个文件的路径,也可以时一个 Node.js 的模块名称。

--no-deprecation

静默废弃警告

--trace-deprecation

打印废弃的堆栈跟踪

--throw-deprecation

抛出废弃的错误

--no-warnings

静默所有进程警告(包括弃用)

--trace-warnings

打印所有堆栈跟踪过程中的警告(包括弃用)

--trace-sync-io

每当在事件循环的第一帧之后检测到同步 I/O 时,打印堆栈跟踪。

zero-fill-buffers

TODO

自动填充所有新分配的 BufferSlowBuffer 实例。

preserve-symlinks

指定模块加载解析和缓存时保留符号链接。

默认情况下,当 Node.js 的加载模块从符号链接到不同的磁盘路径上的位置时,Node.js 将取消应用链接并使用该模块在磁盘上的“真实路径”,即一个标识符为以根路径做定位的依赖模块。在大多数情况下,这种默认行为是正常的在可接受范围内。但是,当使用存在同级依赖的符号链接时,如下面的例子所以,如果 moduleA 需要 moduleB做为同级依赖,则默认行为会导致抛出异常。

{appDir}
 ├── app
 │   ├── index.js
 │   └── node_modules
 │       ├── moduleA -> {appDir}/moduleA
 │       └── moduleB
 │           ├── index.js
 │           └── package.json
 └── moduleA
     ├── index.js
     └── package.json

--preserve-symlinks 该命令行标识指定 Node.js 使用符号链接路径下的模块,而不是真实(当前)的路径,从而可以查找到与符号链接同级下的依赖模块。

注意,使用 --preserve-symlinks 可能会有其它副作用。具体来说,使用符号链接时,如果依赖树中的多个地方依赖 本地 模块,加载时将会抛出异常(Node.js会将它们看作两个单独的模块,并尝试多次加载该模块,从而导致抛出异常)。

--track-heap-objects

跟踪为堆快照分配的堆对象

--prof-process

使用 v8 选项 --prof 处理 v8 引擎生成的输出。

--v8-options

打印 V8 命令行选项。

注:v8选项允许使用双破折号(-)或下划线(_)分开。

例如, --stack-trace-limit 就等同于 --stack_trace_limit

--tls-cipher-list=list

指定备用的默认 TLS 加密列表。(需要使用支持的加密构建 Node.js 。(默认))

--ebavke-fips

启动时启用符合 FIPS 标准的加密。(需要使用 ./configure --openssl-fips 构建 Node.js。)

--force-fips

强制使用 FIPS 标准的加密。(无法在脚本代码中被禁用)(与 --enable-fips 要求相同)

--openssl-config=file

启动时加载OpenSSL的配置文件。如果 Node.js 使用 ./configure --openssl-fips 构建,则该命令会启用符合 FIPS 的加密。

--icu-data-dir=file

指定 ICU 数据的加载路径。(覆盖 NODE_ICU_DATA)

环境变量

NODE_DEBUG=module[,...]

, 分隔的应该打印调试信息的核心模块列表

NODE_PATH=path[:...]

: 分隔的模块搜索路径的前缀列表。

请注意,在 Windows 中,是用 ; 分隔的列表。

NODE_DISABLE_COLORS=1

设置为 1 时,在REPL中将不会使用颜色。

NODE_ICU_DATA=file

ICU(Intl 对象)数据的数据路径。将在编译时使用 small-icu 支持的扩展链接的数据。

NODE_PRESERVE_SYMLINKS=1

设置为 1 时,指示模块加载器解析和缓存模块时保留符号链接。

NODE_REPL_HISTORY=file

用于存储持久性的 REPL 历史记录的文件的路径。它的默认路径是 ~/.node_repl_history,该变量覆盖该值。将值设置为空字符串("" 或 " ")会禁用持久性的 REPL 历史记录。

NODE_TIY_UNSAFE_ASYNC=1

设置为1时,在支持异步 stdio 的平台上输出到 TTY 时,写入 stdoutstderr 将是非阻塞和异步的。设置这将无法保证 stdio 不会在程序退出时发生交错或者丢失。 不建议使用此模式