저는 서버 측 렌더링의 핵심 기능인 scala-js 프론트 엔드 프레임 워크를 작성하고 있습니다. 그 아이디어는 document.createElement
, element.appendChild
및 기타로 dom을 조작하는 구성 요소가 있다는 것입니다. 서버에서 서브 클래스 HTMLDocument
, Element
및 기타는 일반 문자열 html로 변환 될 수있는 서버 돔 구현으로 메소드를 대체합니다. 그래서 서버 모듈에 scalajs-dom_sjs
종속성을 추가하고이를 시도했습니다. 그러나 HTMLDocument
, Element
그리고 대부분의 다른 클래스는 생성자 내에 "라이브러리의 JVM 버전 사용"이라는 예외를 throw하는 js.native
을 호출합니다. 분명히 존재하지 않습니다. 나는 다른 방법을 사용하여 내 자신의 dom 라이브러리를 구현할 수 있지만 두 배의 작업이 필요합니다. 왜냐하면 서버와 클라이언트에서 구현해야하므로 서버에서 한 번만 구현할 첫 번째 방법을 사용하는 것입니다.서버 측 렌더링으로 scala-js 프론트 엔드 프레임 워크 작성하기. 서버에서 scala-js-dom을 사용할 수 없습니다.
내 질문은 : 왜 엄격하게 서버에서 scala-js 라이브러리 버전을 사용하는 것이 금지되어 있으며 그 문제가 있습니까?
이 메소드의 구현은 어디서 발생합니까? 나는 그들을 쓸 것이다. 내 목표 (서버 측 렌더링)에서는 아약스 및 다른 브라우저 특정 항목을 구현할 필요가 없으며 기본 DOM 조작 만 구현하면됩니다. – Yaroslav
그러면 내가 원하는 것은 제 3 단락의 예약과 함께 제 2 단락에서 설명하는 것입니다. – sjrd
Scalatags를 사용하면 dom 및 텍스트 백엔드에 대한 템플릿을 완전히 다시 사용할 수 있습니다. http://www.lihaoyi.com/scalatags/#Cross-backendCode –