Node.js 直接调用节点模块时,require如何工作?

Node.js 直接调用节点模块时,require如何工作?,node.js,Node.js,当直接调用节点模块时,例如$./node\u modules/.bin/webpack-d,模块如何知道如何处理任何需要的功能 我理解require函数是如何工作的,但我不清楚它是在哪里定义的 我曾假设,使用类似于$npm start的东西将为处理require提供上下文,但当直接调用模块时,节点如何参与(并定义如何处理require),您正在调用作为包的一部分安装的可执行文件 该可执行文件运行一个完整的节点解释器,以可执行文件的内容作为脚本 基本上,它类似于在命令行上运行: node ./no

当直接调用节点模块时,例如
$./node\u modules/.bin/webpack-d
,模块如何知道如何处理任何
需要的
功能

我理解
require
函数是如何工作的,但我不清楚它是在哪里定义的


我曾假设,使用类似于
$npm start
的东西将为处理
require
提供上下文,但当直接调用模块时,节点如何参与(并定义如何处理
require
),您正在调用作为包的一部分安装的可执行文件

该可执行文件运行一个完整的节点解释器,以可执行文件的内容作为脚本

基本上,它类似于在命令行上运行:

node ./node_modules/.bin/webpack