javascript - 如何使用 require() 获取名称未知的类
问题描述
我有一个名为的模板类文件
./templates/Class.js
class Template {
//code
}
然后我有另一个类叫做:
./classes/Foo.js
const Template = require('./../../templates/Class.js')
class Foo extends Template {
//code
}
我有一个名为: 的主文件./index.js
,它检查下的所有文件./classes/
,并检查它是否是
classname instanceof Template;
因此,我无法跟踪 下的所有类名./classes/
,并且我想要求下的所有文件./classes/
,检查从我的类扩展的每个文件的任何类Template
,并将该类/函数添加到映射中。我知道如何要求所有文件,./classes/
但之后不多,那我该怎么做?
我如何需要文件:
index.js
const getAllFiles = function(dirPath, arrayOfFiles) {
files = fs.readdirSync(dirPath)
arrayOfFiles = arrayOfFiles || []
files.forEach(function(file) {
if (fs.statSync(dirPath + "/" + file).isDirectory()) {
arrayOfFiles = getAllFiles(dirPath + "/" + file, arrayOfFiles)
} else {
if(fs.readdirSync(dirPath).filter(file => file.endsWith('.js') && fs.statSync(dirPath + "/" + file).isFile()).length) {
arrayOfFiles.push(dirPath + "/" + file)
}
}
})
return arrayOfFiles;
};
解决方案
推荐阅读
- python - 如何在 Windows 上使用 pip 安装 eigen3?
- javascript - 如何在 Ionic 4 中使用 HttpInterceptor 发送请求之前获取 Bearer Auth 令牌
- multithreading - 如何取消线程中的 io_service 对象?
- javascript - 反应:暂停的组件不运行 useEffect 钩子
- python - 使用 cpu 进行 Keras theano 预测
- java - 如何根据频率值更改条形图颜色
- haskell - 过滤具有最长字符串的元组列表
- swift - 访问结构中的数据以在 NSTableView 中使用
- c - 如何使用 fgets 和 strtol 检查输入是否为有效整数?
- loading - 在 qb64 中加载音频文件时可能加载条或百分比