another questionScalaJS bundlerを使用してNPMの依存関係をインポートすることをお勧めしました。クライアントのみのアプリケーションでscalajs-bundlerを使用する方法
単純なクライアント専用WebアプリケーションでJavascript NPMパッケージを使用したいと思います。これを示すan example called staticがあります。例に 私の変更:
はbuild.sbtに追加:
npmDependencies in Compile += "esprima" -> "3.1.3"
はMain.scalaに追加:Main.scala
で
import Esprima._
import JsonToString._
val code = "answer = 42"
val tokens = tokenize(code)
val tokensStr = tokens.json
変更:"This is bold"
s"This is bold $tokensStr"
へのファサードを(少し簡略化されています。フルバージョンは
GitHubを参照してください):
Uncaught TypeError: Cannot read property 'tokenize' of undefined
static-fastopt-bundle.js
を検査することに使用されるesprima
を示しているが、そのjsがバンドルされていない。
import scala.scalajs.js
import scala.scalajs.js.annotation.JSName
@JSName("esprima")
@js.native
object Esprima extends js.Object {
def tokenize(input: String, config: js.Any = js.native, delegate: String => String = js.native): js.Array[js.Any] = js.native
def parse(input: String, config: js.Any = js.native): js.Dynamic = js.native
}
fastOptJS::webpack
エラーで生成されたHTMLを実行しています。
依存関係をクライアント専用のWebページに追加するには、他にどのような手順が必要ですか?
'scalajs-bundler' GitHubについて[#105](https://github.com/scalacenter/scalajs-bundler/issues/105)と尋ねられました。 – Suma
あなたの質問にファサードの定義を含める必要があります –