require 是 Node.js 中用于模块引入的一个函数,使用方式为 require(moduleName)
,接受一个参数,即需要引入的模块名。
require 在执行的时候,会从模块的 paths 中搜索对应模块的位置,并运行模块内的代码。一般情况下,require 的优先级如下:
- 如果是 Node.js 内置模块,直接引入。
- 如果是相对路径,搜索当前工作目录下是否有对应模块。
- 如果是非相对路径,从 node_modules 目录下搜索。
当一个模块被 require 引入之后,会被缓存,即该模块的代码只会被执行一次。
在开发中,正确使用 require 的优先级,可以很好的提升代码的性能,并降低开发难度。
在某些情况下,比如开发一个带有多个步骤流程的工具,希望每个步骤都是按顺序执行,此时我们可以使用 require.resolve(moduleName)
将安装位置列表显式的打印出来,然后根据列表的顺序手动执行每个步骤,这可以帮助我们更好的控制执行顺序。
总而言之,正确和充分地应用 require 可以帮助我们提升代码的性能和可维护性,并充分发挥 Node.js 的优势。