我正在嘗試使用 scala.js、scalatags、akka-http 和 mill 作為我的構(gòu)建工具來構(gòu)建應(yīng)用程序服務(wù)器。一切順利,直到瀏覽器嘗試使用生成的 scala.js 代碼查找腳本。這是成功構(gòu)建并引用已編譯的 scala.js 代碼的 scalatags 代碼(HiPage.js - 在 mill 中構(gòu)建為 ScalaJSModule)。當(dāng)它運(yùn)行時(shí),下面的 println 打印出來: file:/Users/nnovod/projects/lims/LIMS/resources/HiPage.js 這確實(shí)是我放置 scala.js 的 javascript 輸出的地方object HiPage { val boot = "Hi().main(document.getElementById('contents'))" println(getClass.getResource("/HiPage.js").toString) val skeleton = html( head( script(`type`:="text/javascript", src:="/HiPage.js"), link( rel:="stylesheet", href:="https://cdnjs.cloudflare.com/ajax/libs/pure/0.5.0/pure-min.css" ) ), body( onload:=boot, div(id:="contents") ) )}這最終在瀏覽器中顯示如下:<html><head> <script type="text/javascript" src="/HiPage.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.5.0/pure-min.css"/></head><body onload="Hi().main(document.getElementById('contents'))"> <div id="contents"></div></body></html>這是我的 akka-http 路由... val route = path("hello") { get { complete( HttpEntity( ContentTypes.`text/html(UTF-8)`, HiPage.skeleton.render ) ) } }瀏覽器永遠(yuǎn)找不到 HiPage.js(“無法加載資源:服務(wù)器響應(yīng)狀態(tài)為 404(未找到)”)。HiPage.js 位于頂級(jí)資源目錄中,由代碼中的 println(getClass.getResource("/HiPage.js").toString) 找到。當(dāng)瀏覽器從服務(wù)器請(qǐng)求它時(shí),我必須做什么才能看到它?
訪問資源中的 scala.js 輸出
Qyouu
2023-04-27 10:39:40