在 scala js 中导入电子浏览器 window
import electron browser window in scala js
我想在 scala.js 中编写以下代码:
// In the main process.
const {BrowserWindow} = require('electron')
// Or use `remote` from the renderer process.
// const {BrowserWindow} = require('electron').remote
let win = new BrowserWindow({width: 800, height: 600})
win.on('closed', () => {
win = null
})
// Load a remote URL
win.loadURL('https://github.com')
// Or load a local HTML file
win.loadURL(`file://${__dirname}/app/index.html`)
我们如何在 scala.js
中导入电子并实例化 BrowserWindow
随着Scala.js0.6.13+,你可以选择emit CommonJS modules。当你这样做时,你可以像这样导入 BrowserWindow
:
import scala.scalajs.js
import js.annotation._
@ScalaJSDefined
trait BrowserWindowOptions extends js.Object {
def width: Double
def height: Double
}
@js.native
@JSImport("electron", "BrowserWindow")
class BrowserWindow(options: BrowserWindowOptions) extends js.Object {
...
def on(eventName: String, handler: js.Function0[Any]): Unit = js.native
...
}
var win = new BrowserWindow(new BrowserWindowOptions {
val width = 800.0
val height = 600.0
})
win.on("closed", { () =>
win = null
})
您还必须更新 .gitignore
文件以防止它在 GitHub 上变得混乱。拿一个标准的 scala.js .gitignore 文件并去掉点(隐藏)文件。当然 .gitignore 除外。 build.sbt
将重建整个项目,因此绝对不需要推送 .idea 文件。这同样适用于 node_modules
和 target
目录。对我、你和其他人来说,它们是鞭打和噪音。特别是对于有另一个 IDE 的人。请整理 GitHub 存储库。
实际上只有 /src/main/scala/CloudConnectionComponent.scala
.gitignore
、build.sbt
和 project/build.properties' /
project/plugins.sbt` 应该出现在 GitHub 上。
我想在 scala.js 中编写以下代码:
// In the main process.
const {BrowserWindow} = require('electron')
// Or use `remote` from the renderer process.
// const {BrowserWindow} = require('electron').remote
let win = new BrowserWindow({width: 800, height: 600})
win.on('closed', () => {
win = null
})
// Load a remote URL
win.loadURL('https://github.com')
// Or load a local HTML file
win.loadURL(`file://${__dirname}/app/index.html`)
我们如何在 scala.js
中导入电子并实例化 BrowserWindow随着Scala.js0.6.13+,你可以选择emit CommonJS modules。当你这样做时,你可以像这样导入 BrowserWindow
:
import scala.scalajs.js
import js.annotation._
@ScalaJSDefined
trait BrowserWindowOptions extends js.Object {
def width: Double
def height: Double
}
@js.native
@JSImport("electron", "BrowserWindow")
class BrowserWindow(options: BrowserWindowOptions) extends js.Object {
...
def on(eventName: String, handler: js.Function0[Any]): Unit = js.native
...
}
var win = new BrowserWindow(new BrowserWindowOptions {
val width = 800.0
val height = 600.0
})
win.on("closed", { () =>
win = null
})
您还必须更新 .gitignore
文件以防止它在 GitHub 上变得混乱。拿一个标准的 scala.js .gitignore 文件并去掉点(隐藏)文件。当然 .gitignore 除外。 build.sbt
将重建整个项目,因此绝对不需要推送 .idea 文件。这同样适用于 node_modules
和 target
目录。对我、你和其他人来说,它们是鞭打和噪音。特别是对于有另一个 IDE 的人。请整理 GitHub 存储库。
实际上只有 /src/main/scala/CloudConnectionComponent.scala
.gitignore
、build.sbt
和 project/build.properties' /
project/plugins.sbt` 应该出现在 GitHub 上。