맞춤 원시 템플릿 추가

안녕하세요, 기존 템플릿을 단순히 오버라이드하는 것이 아니라, 제 자체 Raw 템플릿을 추가하려고 하고 있습니다.

이유는: 중첩된 컴포넌트를 사용할 때 나타나는 귀찮은 ember 태그들을 제거하기 위해서입니다.

… 처음에는 templates 또는 templates/list 디렉토리에 하나만 추가하면 된다고 생각해서 그렇게 해보았지만, 템플릿을 찾지 못해 조용히 실패했습니다.

이것이 지원되지 않는지 확인해 주실 수 있을까요?

그런 다음 이것을 발견했습니다:

그리고 이것도:

그래서 이렇게 시도해 보았습니다:

import { addRawTemplate } from "discourse-common/lib/raw-templates";
import { compile } from "handlebars";

<---일부 초기화 코드 -->

addRawTemplate('search-result-entry',  compile(`<span class='result-lala'>hello</span>`));

그런데 이런 오류가 발생했습니다:

TypeError: Handlebars.compile is undefined

감사합니다!

여기서 제가 뭔가 잘못하고 있다면 죄송합니다 …

(참고로, 이 기능은 정말 유용할 것 같습니다. 구현해 주셔서 감사합니다!)

raw 템플릿을 templates 폴더에 바로 추가할 수 있어야 합니다. discourse-docs에서는 그렇게 했습니다. 지금은 .hbr 파일 확장자를 사용하므로, 아마도 그 부분이 문제가 된 것 같습니다.

ember 컴포넌트에 기본적으로 추가되는 래퍼 <div>를 말씀하시는 건가요? tagName을 빈 문자열로 설정하면 비활성화할 수 있습니다:

ember 컴포넌트로 작업하는 것은 원시 템플릿보다 훨씬 쉬우므로, 가능하면 ember를 사용하는 것을 강력히 권장합니다.

아, 제 hbr 템플릿을 templates/components에 넣어놨었네요! (그렇게 적어놓고 보니 당연히 잘못된 거죠)

예시를 알려주셔서 감사합니다, Justin! 그걸 templates 폴더로 옮기면서 해결했어요. 어머나!

이제 잘 작동합니다!

@david 정말 유용한 팁이네요, 감사합니다! 저도 그걸 활용하겠습니다! 그러면 액션을 유지할 수 있어서 완벽하네요.

제대로 보니 제가 훨씬 더 복잡하게 만들어놨었네요. 감사합니다!