require是属于commentjs的模块引入,它首先会找node内置模块,然后在看有没有./或者../开头的,如果有,就会在本地模块中寻找,如果没有,就会去当前主目录下的nodeModuls模块里面查找,没有的话,就去上一级目录nodeModuls模块找,如果没有找到,再上一级寻找,直到顶级目录,如果还没有,就会报错 require里面可以不写模块后缀,它会自动补齐js后缀寻找,没有的话,就会自动不去md后缀寻找,如果还没得话,就会补齐node后缀寻找 require有缓存,多次引入,除了第一次会执行文件里面的代码,后面的就不会重复执行了,而且至于执行哪个文件?它会找到模块里面里面的package.json文件,在里面的main属性的值就是需要执行的文件,如果没有main属性,那就默认执行当前目录里面的index.js文件