아마도 제가 아주 멍청한 실수를 하고 있는 것 같은데, 그걸 알아볼 수가 없습니다. 여기에 질문을 올리면 제가 그걸 알아보고, 다른 사람들이 제 멍청함을 알기 전에 이 글을 삭제할 수 있기를 바랍니다.
"HELLO WORLD"가 홈 페이지에 표시되어야 합니다. 콘솔에서는 "THIS IS THE HOMEPAGE"가 출력되는 것을 볼 수 있습니다. 코드가 실행되고 있다는 것은 압니다. 하지만 화면에는 나타나지 않습니다.
그런데 다른 아이디어가 없어서 "Extra item"을 추가해 보았는데, 이것도 렌더링되지 않습니다.
파일 이름을 .gjs로 변경하기 전에 오류가 발생했었기 때문에, 파일이 인식되고 무언가가 일어나고 있다는 추가 증거가 됩니다.
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer("1.8.0", (api) => {
// see if we're on the home page
api.onPageChange(() => {
const router = api.container.lookup("service:router");
const url = router?.currentURL;
const isHomePage = url === "/";
api.renderInOutlet("top-notices", <template>Extra item</template>);
if (isHomePage) {
console.log("THIS IS THE HOMEPAGE");
api.renderInOutlet("after-header", <template>HELLO WORLD</template>);
}
});
});