ES6에서 서버 측 (Babel을 사용하는 node.js)에서 클래스의 동적 가져 오기를 수행하는 방법을 파악하려고합니다. Java에서 리플렉션이 제공하는 것과 유사한 기능을 일부 갖고 싶습니다. 아이디어는 특정 폴더의 모든 클래스를 가져 와서 동적으로 인스턴스화하는 것입니다.ES6 동적 가져 오기 및 클래스의 인스턴스화
그래서 예를 들어 여러 개의 클래스는 아래와 같은 폴더에 선언 할 수 :
export default class MyClass {
constructor(somevar) {
this._somevar = somevar
}
//...
//some more instance level functions here
}
후 다른 곳에서 내 응용 프로그램의 코드에서 나는 특정의 모든 클래스를 알게하는 기능을 가질 수 폴더에 넣고 인스턴스화하려고 시도합니다.
//somewhere else in my app
instanciationFunction(){
//find all the classes in a specific folder
var classFiles = glob.sync(p + '/path_to_classes/**/*.js', {
nodir: true
});
_.each(classFiles, async function (file) {
console.log(file);
var TheClass = import(file);
var instance = new TheClass();
//and then do whatever I want with that new instance
});
}
나는 이것을 요구했지만 오류가 발생했습니다. 분명히 생성자는 찾을 수 없습니다.
모든 아이디어는 크게 감사하겠습니다.
감사
동적 가져 오기는 거의 ES6'import'을 위해 설계되었습니다 무엇의 반대입니다. – lonesomeday
그럼 내가 가지고있는 해결책은 무엇입니까? – azpublic
두 번째 발췌 문장에서 사용하고있는'import' 함수는 무엇입니까? – Bergi