直接调用节点模块时,例如$ ./node_modules/.bin/webpack -d
,模块如何知道如何处理任何require
函数?
我理解require
函数的工作原理,但我对它的定义感到困惑。
我曾假设使用像$ npm start
这样的东西会给上下文处理require
,但是当直接调用模块时,Node如何参与(并定义如何处理require
) ?
答案 0 :(得分:1)
您没有直接调用该模块,而是调用作为软件包一部分安装的可执行文件。
该可执行文件运行完整的节点解释器,并将可执行文件的内容作为脚本。
基本上,它类似于在命令行上运行它:
node ./node_modules/.bin/webpack