Node.js 要求(';fs';)不使用角度和电子

Node.js 要求(';fs';)不使用角度和电子,node.js,angular,typescript,electron,fs,Node.js,Angular,Typescript,Electron,Fs,我正在使用angular 6.0、electron 2.0、typescript 2.9、nodejs 9.11来制作一个使用electron框架的桌面应用程序。我正在努力从typescript代码访问NodeJS本机API。我在“tsconfig.app.json”文件中设置了“commonjs”。当我在属于angular应用程序的任何ts文件中写入:require('fs')或require('net')时,系统无法找到这些模块 到目前为止,只有一种解决办法奏效。事情是这样的。“native

我正在使用angular 6.0、electron 2.0、typescript 2.9、nodejs 9.11来制作一个使用electron框架的桌面应用程序。我正在努力从typescript代码访问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的库一样,那么该库必须通过这种机制导入


是否有其他解决方案允许通过正常的
require()
语法导入nodejs系统库

在我这方面,如果您使用typescript作为ref,那么这项工作就完成了。
import * as Fs from 'fs';
const fs: typeof Fs = window['require']('fs');
你需要辩护,否则你会被起诉的。 对于nwjs使用此选项,可以知道nodejs是全局的

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