无法解析'fs'或'path'Edge-js和Angular

时间:2019-04-30 01:53:28

标签: c# angular electron edgejs

我正在使用electron-edge-js制作一个Electron Angular应用程序,以避免必须运行服务器来在角度代码和C#代码之间进行转换。该应用程序可以正常运行,只要我实际上不要求edge做任何事情,但会在构建时失败:

Module not found: Error: Can't resolve 'fs' (or 'path') in ... node_modules\electron-edge-js\lib.

我尝试了所有可以在网上找到的解决方案。我使用了angular-builders \ custom-webpack并能够构建应用程序,但是下一个错误是“未定义要求”。

代码可在此处找到:https://github.com/pdpete/AngularElectronEdgeQuickstart

在app.component.ts中:

import { Component } from '@angular/core';
import * as Edge from 'electron-edge-js';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent {
  title = 'The Wrong App Name';

  // if this is commented out, the app works fine, but with 'The Wrong App Name'
  constructor() {
    var getAppName = Edge.func({
      assemblyFile: "Controller.dll",
      typeName: "Controller.NameController",
      methodName: "GetName"
    });

    getAppName(null, function (error, result) {
      if (error) throw error;
      console.log(result);
      this.title = result;
    });
  }
}

1 个答案:

答案 0 :(得分:0)

据我所知,经过大量研究,Angular 5及更高版本不允许访问fs(或其他节点模块),因此不可能编写Angular版本> 5的Edge应用程序。 / p>