今天在做小demo的时候遇到了这样的场景。首先上图需要执行index文件中的webpack函数来构建,通过constprodConfig=require('../../lib/webpack.prod')获取webpack.prod.js中的配置,然后执行它在脚本中,所以我想到了一个问题:1)当前process.cwd()已经进入了模板目录2)脚本的执行路径__dirname是smoke目录那么如何获取依赖索引脚本时使用的执行网页包?于是我打开百度:没有结果,于是做了个小测试1)在磁盘根目录下新建一个名为dependency的文件夹,打开终端执行npminit--y初始化目录,安装axios依赖2)在dependency文件夹中依次创建a/b/c/d四个文件夹,如图:3)在d文件夹中新建test.js文件夹,输入以下内容constaxios=require('axios')console.log(axios)runcode...正常打印axios对象结论:1)node运行脚本时如果当前目录没有需要的依赖,会逐级查找其父目录,并且搜索,直到找到当前文件所在磁盘的根目录2)猜测:如果根目录还是没有找到,就回全局node_modules找(也就是你使用npm时安装的依赖)installsome-dependency-g),无需进一步验证,有兴趣的同学可以试试!
