最近自己在写 hexo 的插件, 然后发现 require 函数里面写的东西有的时候不 make sense(至少在刚开始的时候). 所以我就搜索了一下这个 require 函数是怎么回事. 现在明白了一点点.
require 核心模块 Link to heading
比如var fs = require('fs');. 它就会去找 nodejs 的核心 fs 模块.
require 文件模块 Link to heading
文件模块的 js 里面必须有 exports 或者 module.exports 关键词来暴露这个模块.
var foo=require('foo');
//foo在默认目录下面没有,没有的话nodejs会在node_modules里面找这个模块
通过这个例子我们可以看到如果默认目录下没有, 那么会在 node_modules 里面找, 所以现在可以理解 hexo 中 require 函数里面如果没有特别指定地址, 他就会去 node_modules 里面找.