我正在使用离子和电子构建桌面应用程序。
我开始使用electron v4.1.3
,并且能够通过以下方式在应用程序的“离子部分”(例如home.ts文件)中要求节点模块:
import { Component } from '@angular/core';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
ngOnInit () {
console.log ((<any> window).require ("fs"));
}
}
这就是我得到的:
如您所见,我可以访问所有fs
方法,因此我可以读取,写入,复制文件以及其他任何内容。
现在我已经安装了electron v5.0.0
,我创建了相同的应用程序,但是当我尝试在fs
方法中要求使用ngOnInit
模块时出现错误:
window.require不是函数
我该如何解决?如果您需要有关安装或环境的更多详细信息,请告诉我,谢谢!
答案 0 :(得分:2)
nodeIntegration现在默认在5.0.0中被禁用。
和发行说明
https://github.com/electron/electron/releases/tag/v5.0.0
因此您需要启用它:
const mainWindow = new BrowserWindow({
webPreferences: { nodeIntegration: true }
});