cap*_*pc0 2 require node.js typescript electron angular
我无法弄清楚如何在我的 angular2 组件中要求节点模块 - 特别是在我的情况下,如何在 angular2 组件中打开一个新的电子窗口。
我的 component.html 有这样的东西
<button class="btn btn-success" (click)="buttonLoginClick()">Login</button>
Run Code Online (Sandbox Code Playgroud)
在 component.ts 中,我使用以下内容
export class LoginComponent {
constructor() {}
buttonLoginClick(): void {
alert("just a test");
const remote = require('electron').remote;
const BrowserWindow = remote.BrowserWindow;
var win = new BrowserWindow({ width: 800, height: 600 });
win.loadURL('./test.html');
}
}
Run Code Online (Sandbox Code Playgroud)
编译时的错误是说
找不到名称“要求”。
我知道这个问题是在两个月前提出的。但是,由于某些关键字在 Google 上的排名很高。我会解释我是如何让它工作的......
在您的index.htm文件中,在head元素内添加以下块
<script>
var electron = require('electron');
</script>
Run Code Online (Sandbox Code Playgroud)
然后你可以在任何 Typescript 文件中声明电子变量,例如,一个组件......
import { Component } from "@angular/core";
declare var electron: any;
@Component({
...
})
export class FooComponent {
bar() {
var win = new electron.remote.BrowserWindow({ width: 800, height: 600 });
win.loadURL('https://google.com.au');
}
}
Run Code Online (Sandbox Code Playgroud)
当您调用该函数时,它会打开一个指向 google 的电子窗口
这个选项应该更简洁一些。如果你有一个src\typings.d.ts文件。然后你可以简单地告诉打字稿编译器注册require全局函数......
declare var require: any;
Run Code Online (Sandbox Code Playgroud)
然后你可以require像往常一样使用这个函数
| 归档时间: |
|
| 查看次数: |
6407 次 |
| 最近记录: |