在angular2组件中需要节点模块
我不知道如何在我的angular2组件中需要节点模块 – 特别是在我的情况下,如何在angular2组件中打开一个新的电子窗口。
我的component.html有这样的东西
<button class="btn btn-success" (click)="buttonLoginClick()">Login</button>
在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'); } }
编译错误在说
找不到名字'require'。
我知道这个问题在两个月前被问过。 但是,由于这个关键字在Google上的排名相当高。 我会解释我是如何工作的
选项1
在你的index.htm
文件中,在head
元素中添加下面的块
<script> var electron = require('electron'); </script>
然后,您可以在任何Typescript文件中声明电子variables,例如,一个组件…
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'); } }
当你调用这个函数的时候,它会打开一个指向谷歌的电子窗口
选项2
这个选项应该更清洁一些。 如果你有一个src\typings.d.ts
文件。 然后,你可以简单地告诉打字稿编译器注册require
全局function…
declare var require: any;
然后,您可以像平常一样使用require
函数