我有一個script.js包含一個類的 JS 腳本MyType。我想在 scala scriptadd()中使用類的方法。divideApp.scala
使用Scala.js和JSImport我匯入script.js到App.scala.
但是,當我嘗試使用這些MyType方法add()并divide在 scala 腳本中時,我得到了錯誤error: expected start of definition?
你能幫我找出問題嗎?
提前致謝!
腳本.js:
class MyType {
constructor(x, y) {
this.x = x;
this.y = y;
}
add(z){
let {x,y} = this;
return x y z;
}
divide(z){
let {x,y} = this;
return (x y)/z;
}
};
module.exports = {MyType};
應用程式.scala:
import scala.scalajs.js
import scala.scalajs.js.annotation._
@js.native
@JSImport("./script.js","MyType")
class MyType(var x:Double, var y:Double) extends js.Object
object MyApp {
@JSExport
def main(args:Array[String]): Unit = {
val added = new MyType(1,2).add(3)
println(s"my $added") // 1
val divided = new MyType(4,3).divide(2)
println(s"my $divided") // 6
}
}
構建.scala:
name:="JSImports"
version:="0.1"
scalaVersion:="2.11.12"
enablePlugins(ScalaJSPlugin)
jsDependencies = ProvidedJS/"script.js"
scalaJSUseMainModuleInitializer:=true
uj5u.com熱心網友回復:
錯誤預期的定義開始@JSImport是格式錯誤的結果 -和之間不能有空行class MyType。
這很可能是因為 Scala 在沒有分號的情況下結束陳述句/宣告的方式。我不知道確切的規則,但空行通常會有所作為。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/463273.html
標籤:javascript 节点.js 斯卡拉 scala.js
上一篇:從另一個Python腳本加載新值
