【问题标题】:require('fs') not working with angular and electron要求('fs')不适用于角度和电子
【发布时间】:2018-11-20 13:16:40
【问题描述】:

我正在使用 angular 6.0、electron 2.0、typescript 2.9、nodejs 9.11 使用电子框架制作桌面应用程序。我正在努力从打字稿代码访问 NodeJS 本机 API。我在“tsconfig.app.json”文件中设置了“commonjs”。当我在作为 Angular 应用程序一部分的任何 ts 文件中编写 : require('fs') 或 require('net') 时,系统无法找到这些模块。

到目前为止,只有一种解决方案有效。它是这样的。首先在“native.js”中

window.fs = require('fs')

然后在 polyfill.ts 中:

declare global {
  interface Window{
    fs : any;
  }
}

然后以window.fs 访问其余代码库中的fs。

虽然这没问题,但它不可扩展,就好像我必须使用任何依赖于 NodeJS 原生 API 的库一样,然后必须通过这种机制导入该库。

是否有任何其他解决方案让 Angular 允许通过正常的 require(<module>) 语法导入 nodejs 系统库?

【问题讨论】:

    标签: node.js angular typescript electron fs


    【解决方案1】:
    import * as Fs from 'fs';
    const fs: typeof Fs = window['require']('fs');
    

    【讨论】:

      【解决方案2】:

      在我这边,如果您使用 typescript 作为参考,这项工作。 你需要给出一个辩护或者是任何一个。 将它用于 nwjs,知道 nodejs 是全局的。

      const fs: typeof import('fs') = require('fs');


      【讨论】:

        猜你喜欢
        • 2020-06-03
        • 1970-01-01
        • 2019-09-08
        • 1970-01-01
        • 2018-06-01
        • 2021-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多