Angular,Electron,CSharp和EdgeJS

时间:2018-07-05 20:33:09

标签: angular webpack electron angular-cli

我正在尝试编写一个基于电子的Angular应用程序,该应用程序使用EdgeJs与某些现有的旧业务逻辑c#dll进行对话,并且我一直以this excellent boilerplate app作为起点。几个小时后,我设法使所有功能正常运行,但是由于webpack,我遇到了一些麻烦,并且想知道是否有人知道解决方案或可以为我指明更好的方向。

正如我在此过程中发现的那样,angular-cli(或默认情况下为webpack)已将webpack构建设置为模拟或填充EdgeJS使用的NodeJS API调用(__dirname,fs以及其他可能使用的) Webpack docs

当我尝试在Angular服务中执行以下操作时,遇到了很多无法找到或解决fs模块的异常情况

edge.service.ts

import { Injectable } from '@angular/core';
import * as edge from 'electron-edge-js';//throws errors
@Injectable()
export class EdgeExampleService {
    constructor(){ 
        //let edge = require('electron-edge-js');//will also throw errors
    }
}

我可以通过在 index.html 内执行let edge = require('electron-edge-js')来解决这些错误,因为该错误是通过电子直接加载而不是通过webpack加载的。虽然这确实使EdgeJ正常工作,但我还是希望将所有导入都保存在TypeScript文件中,并使其不在全局范围内。

我没有问题 ng弹出,但是由于我不熟悉webpack,所以我不知道从哪里开始进行这种更改。任何人都对我需要进行哪些更改以防止webpack嘲笑/填充NodeJS API有任何想法?

0 个答案:

没有答案