Angular7如何使用fs模块?

Angular 7 how to use fs module?

我正在使用 Angular 7.

我尝试在 Typescript 上使用 fs 模块打开一个目录。 我总是有这个错误:"Module not found: Error: Can't resolve fs" types@node 和文件系统已安装。

我的代码:

import {Component, OnInit} from '@angular/core';
import * as fs from 'file-system';

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

  constructor() {

  }

  ngOnInit() {
    console.log(fs);
  }
}

你能帮帮我吗?

节点:v10.14.0 Npm:v6.4.1 Angular CLI:v7.1.1

'fs' 模块是一个节点模块,在 Angular(或与此相关的任何其他框架)中不可用。发生的事情是 Angular 代码被转译和缩小并在浏览器上下文中运行,而不是在节点上下文中运行。浏览器被沙盒化,无法访问客户端文件系统。如果这是可能的,那么网络会危险得多:)。

'fs' 是 NodeJS 运行时的库,但 Angular 管道捆绑器的最终产品是在浏览器中运行的前端 SPA 客户端。如果您需要从用户的本地文件系统将文件加载到客户端,那么您需要使用浏览器原生变体,例如看看处理 <input type="file"> 个元素。

fs 模块在 Angular 中不可用。使用下面的包来使用 fs 模块。

npm install file-system --save

示例

var fs = require('file-system');
 
fs.mkdir('1/2/3/4/5', [mode], function(err) {});
fs.mkdirSync('1/2/3/4/5', [mode]);
fs.writeFile('path/test.txt', 'aaa', function(err) {})

参考https://www.npmjs.com/package/file-system