是否有Node模块允许您指定多个根,给它一个文件,并尝试查找该文件?
知道很多图书馆/模块会做这类事情,但是我的Google-fu无法为它创建现有模块,这有点令人惊讶。
澄清一下,基本上如果我有这样的配置:
roots: ['node_modules', 'bower_components', 'src']
我要求它找到" my-file.js",它会搜索以下内容:
node_modules/my-file.js
bower_components/my-file.js
src/my-file.js
并返回解析为现有文件的第一个,或返回错误,说明无法解决该问题。
答案 0 :(得分:1)
我也不知道这个库,但你要求的只需几行代码即可:
const fs = require('fs');
const path = require('path');
const roots = ['node_modules', 'bower_components', 'src'];
const myFile = 'my-file.js';
const result = roots.map(root => path.resolve(path.join(root,myFile))).map(fs.existsSync);
这将为您提供与roots
中每个元素对应的true / false值数组。因此,如果存在src/my-file.js
和node_modules/my-file.js
,您将获得result
[true, false, true]