경고를 없애려고 시도하고 있습니다:
[PLUGIN discourse-layouts] 테스트에서 오류를 방지하려면 `modifyClass` 호출에 `pluginId` 키를 추가하세요. 이렇게 하면 수정이 한 번만 적용되도록 보장됩니다.
그러나 Layouts 플러그인의 경우, api.modifyClass() 메서드에 다음과 같이 전달되는 Sidebars라는 Mixin이 있습니다:
api.modifyClass(controllerClass, Sidebars) (코드 보기)
Mixin의 속성에 pluginId를 추가하는 등 여러 가지 방법을 시도해 보았습니다:
export default Mixin.create({
pluginId: 'discourse-layouts',
router: service(),
path: alias("router._router.currentPath"),
...
하지만 경고는 계속 표시됩니다.
경고를 억제할 수 있었던 유일한 방법은 modifyClass() 대신 다음 코드를 사용하는 것이었습니다.
const klass = api._resolveClass(controllerClass, {});
klass.class.reopen(Sidebars);
그러나 modifyClass가 반복적으로 적용되는 것을 방지하는 체크를 사실상 건너뛰고 있기 때문에 이것이 최선의 접근 방식이라고 생각하지 않습니다.
Mixin을 사용할 때 api.modifyClass()에 pluginId를 추가하여 해당 경고를 성공적으로 억제하는 방법에 대해 조언이나 생각을 가진 분이 있으신가요?