亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

訪問資源中的 scala.js 輸出

訪問資源中的 scala.js 輸出

Qyouu 2023-04-27 10:39:40
我正在嘗試使用 scala.js、scalatags、akka-http 和 mill 作為我的構建工具來構建應用程序服務器。一切順利,直到瀏覽器嘗試使用生成的 scala.js 代碼查找腳本。這是成功構建并引用已編譯的 scala.js 代碼的 scalatags 代碼(HiPage.js - 在 mill 中構建為 ScalaJSModule)。當它運行時,下面的 println 打印出來: file:/Users/nnovod/projects/lims/LIMS/resources/HiPage.js 這確實是我放置 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            )          )        }      }瀏覽器永遠找不到 HiPage.js(“無法加載資源:服務器響應狀態為 404(未找到)”)。HiPage.js 位于頂級資源目錄中,由代碼中的 println(getClass.getResource("/HiPage.js").toString) 找到。當瀏覽器從服務器請求它時,我必須做什么才能看到它?
查看完整描述

1 回答

?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

不確定這是否是最好的方法,但我最終能夠通過讓腳本中的所有 src 引用以 /resource 開頭然后編輯我的 akka-http 路由以包含以下內容來解決問題:


        pathPrefix("resource") {

          extractUnmatchedPath { unmatched =>

            val resource = unmatched.toString()

            if (!resource.startsWith("/"))

              reject()

            else

              getFromResource(resource.substring(1))

          }

        }


查看完整回答
反對 回復 2023-04-27
  • 1 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號