私はscala-jsフロントエンドフレームワークを作成しています。その主な機能はサーバー側のレンダリングです。その考えは、document.createElement
、element.appendChild
などでdomを操作するコンポーネントがあるということでした。サーバー上でHTMLDocument
、Element
などをサブクラス化し、そのメソッドをプレーン・ストリングhtmlに変換できるサーバー・ドームの実装でオーバーライドします。そこで、サーバモジュールにscalajs-dom_sjs
の依存関係を追加し、それを試みました。しかし、HTMLDocument
とElement
があり、他のクラスではコンストラクタの内部にjs.native
が呼び出され、「ライブラリのJVMバージョンを使用する」という例外がスローされます。明らかに存在しないもの。私は別の方法を使用して自分自身のDOMライブラリを実装することができますが、それは2倍の作業であり、サーバーとクライアントで実装する必要があるため、サーバーで一度しか実装しませんでした。サーバサイドレンダリングによるscala-jsフロントエンドフレームワークの作成。サーバー上でscala-js-domを使用できません
私の質問は、サーバー上でscala-jsライブラリのバージョンを厳密に使用することは禁じられていますが、回避策はありますか?
このメソッドの実装はどこから行われますか?私はそれらを書くだろう。私の目標(サーバーサイドのレンダリング)では、ajaxや他のブラウザ固有のものを実装する必要はなく、基本的なdom操作のみを実装します。 – Yaroslav
あなたが望むのは、第2段落で説明したもので、第3段落からの予約です。 – sjrd
Scalatagsを使用すると、domおよびtextバックエンドのテンプレートを完全に再利用できます。http://www.lihaoyi.com/scalatags/#Cross-backendCode –