0
如果我想將某些ScalaJS方法導出爲CommonJS模塊,應該怎麼做?我有以下的,但它似乎並沒有工作:無法在ScalaJS中編寫CommonJS模塊,該模塊在Atom編輯器中作爲插件獲取「導入」
@ScalaJSDefined
@JSExportTopLevel("default")
object SourceFetch extends js.Object {
def activate(state: js.Dynamic): Unit = {
global.console.log("activate")
}
def deactivate(): Unit = {
global.console.log("deactivate")
}
}
是的,scalaJSModuleKind:= ModuleKind.CommonJSModule在build.sbt。
我想作爲輸出是一個commonjs模塊,看起來像這樣;
export default {
activate(state) {
console.log("activate");
}.
deactivate() {
console.log("deactivate");
}
};
我最終什麼事做的是使用已棄用SBT鍵「scalaJSOutputWrapper」並追加「module.exports =出口[‘默認’];」在輸出JS文件的末尾。
我確實嘗試過「scalaJSUseMainModuleInitializer」,但我只能得到「module.exports」而非「exports」的值,而「module.exports」的值未定義。
漂亮,就像一個魅力!這可能需要記錄在某個地方。 –