0

I'm building a simple project with Angular 6 and Electron 4. In my project I'd want to use fs from node but it results in an empty object when I try to output it. Here's my code:

import { Component } from '@angular/core';
import * as fs from 'fs';

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

  constructor() {
    console.log(fs); // empty object
  }
}

I've added "browser": {"fs": false} as suggested in this issue, and I've installed @types/node and added "types": ["./../node_modules/@types/node"] in tsconfig.app.json.

I googled a lot to find a solution but I can't get it to work. Any suggestions?

Matteo Meil
  • 1,192
  • 10
  • 20

2 Answers2

1

Finally found a solution to use Node.js API in Angular 6.

Installed electron-builder and follwed the instruction, I can now use regular import statement.

The configuration I mentioned above helps to suppress errors like Module 'fs' not found and to help IDEs to recognize fs module

Matteo Meil
  • 1,192
  • 10
  • 20
0

fs module uses the os and path under the hood. According to this answer you need to assign false to all of them in the config object.

"browser": {
    "fs": false,
    "path": false,
    "os": false
  }