모듈 (connect-mongo)에서 클래스를 덮어 쓰려고합니다.모듈에서 ES6 클래스 덮어 쓰기/꾸미기
server.js
에서 :이 모듈은 대략 다음과 같이 작동
const session = require('express-session');
const MongoStore = require('connect-mongo')(session);
// ...
app.use(session({
store: new MongoStore({ mongooseConnection: mongoose.connection })
}));
모듈의 소스 index.js
은 다음과 같습니다
module.exports = function (connect) {
const Store = connect.Store || connect.session.Store
const MemoryStore = connect.MemoryStore || connect.session.MemoryStore
class MongoStore extends Store {
constructor(options) {
// construction logic
}
methodA() {
// method logic
}
// More props and methods
}
return MongoStore;
}
내가 모듈의 methodA()
과 장식을 덮어 쓰기의 방법을 찾고 싶습니다 내 자신의 방법을 가진 수업도.
나는 MongoStore
을 덮어 쓰려고하는데 myPatch.js
파일을 만들려고 시도했지만 그럴 수 없었습니다. 나는 connect
param에 따라 MongoStore
클래스가 동적으로 생성되는 방법에 대해 특히 혼란스럽고이 문제를 해결하는 방법을 모르겠습니다.
MongoStore
클래스 내에서 메소드를 변경하고 추가하는 가장 좋은 방법은 무엇입니까?
당신은'server.js'를 편집하거나 할 수 없습니다? – Bergi
@Bergi 예, 모든 것을 편집 할 수 있습니다. 가능하다면 패치를 자체 파일에 넣어 두 겠지만 그게 전부입니다. – alexcs
당신이 말하는 것은 당신이 할 수있는 합리적인 OOP 일이 될 그 수업을 확장하려고하는 것처럼 들립니다. – apokryfos