Angular& Electron - 在默认浏览器中打开链接

时间:2018-04-24 14:30:31

标签: angular electron fs

我正在尝试在我的默认浏览器上打开电子应用程序(使用角度)的链接但我收到以下错误:

Uncaught TypeError: fs.existsSync is not a function
    at Object.<anonymous> (vendor.bundle.js:160955)
    at Object../node_modules/electron/index.js (vendor.bundle.js:160961)
    at __webpack_require__ (inline.bundle.js:55)
    at Object../src/app/components/issue/issue.component.ts (main.bundle.js:159)
    at __webpack_require__ (inline.bundle.js:55)
    at Object../src/app/app.module.ts (main.bundle.js:75)
    at __webpack_require__ (inline.bundle.js:55)
    at Object../src/main.ts (main.bundle.js:644)
    at __webpack_require__ (inline.bundle.js:55)
    at Object.0 (main.bundle.js:662)

我的html组件上的按钮上有一个“(click)=”onNavigate()“” 这就是功能:

import { shell } from 'electron';
...      
onNavigate() {
   shell.openExternal("http://www.google.com");
}
...

我不知道我做错了什么,希望有人可以帮助我:)。

1 个答案:

答案 0 :(得分:0)

使用window.require代替require是避免require之间发生冲突的一种方法,因为您正在使用webpack&amp;它带来了它自己的require。尝试:

const shell = window.require('electron');
...      
onNavigate() {
   shell.openExternal("http://www.google.com");
}
...