从项目中读取文本文件

时间:2019-06-17 15:49:06

标签: node.js angular fs

我正在尝试使用fs从Angular项目(节点版本v10.15.3,带有Angular 7)中读取文本文件。

我使用以下命令安装了fs库:

npm install --save fs
function readFile(){
const fs = require('fs');
var text = fs.readFile("src/assets/js/utile/groovy.txt", "utf8", (err, data) => {
if (err) { console.log(err) }
console.log(data);
})

这是我的错误消息:Uncaught TypeError: fs.readFile is not a function

1 个答案:

答案 0 :(得分:1)

扩展注释,因为它用于服务器端nodejs,因此无法在浏览器中使用fs

一种替代方法是使用HTTP请求来检索您的文本文档。这样的好处是能够在另一个位置(例如github或另一个文件托管服务)托管此文本文档。

  1. 将文本文件放置在/ assets文件夹中

  2. 确保在您的app.module.ts文件中导入了HttpClientModule

  3. 使用

  4. 将HTTPClient注入您的组件或服务
public constructor(
  private http: HTTPClient,
) {}
  1. 使用以下文件请求文件
this.http.get('/assets/groovy.txt')
  .subscribe((data) => {
    console.log(data);
  },
  (err: HttpErrorResponse) => {
    if (err.error instanceof Error) {
      // A client-side or network error occurred. Handle it accordingly.
      console.log('An error occurred:', err.error.message);
    } else {
      // The backend returned an unsuccessful response code.
      // The response body may contain clues as to what went wrong,
      console.log(`Backend returned code ${err.status}, body was: ${err.error}`);
     }
    }
  );

进一步阅读:https://angular.io/guide/http