未捕获的TypeError:fs.​​readFileSync不是控制台中的函数

时间:2017-04-04 05:51:04

标签: javascript node.js

我使用以下代码从本地系统中读取文件:

var fs = require('fs');            
var text = fs.readFileSync("./men.text");
var textByLine = text.split("\n")
console.log(textByLine);

3 个答案:

答案 0 :(得分:1)

注意: fs 是一个nodejs模块,您无法在浏览器中使用它。

导入fs模块,

readFileSync将为您提供缓冲区

使用split()功能将Buffer转换为String

var fs = require('fs')

var text = fs.readFileSync("./men.text");
var string = text.toString('utf-8') // converting the Buffer into String

var textByLine = string.split("\n")
console.log(textByLine);

更新

服务器端

fs是一个nodejs内置模块,你不能在浏览器(Client-Side)中使用它。在服务器端使用fs进行操作,获取所需类型的数据和格式,然后render htmlejs更多..模板发动机

这里我使用express创建了一个Nodejs服务器,并从浏览器点击http://localhost:8000/您将获得数据数组

您可以使用.ejs

格式化数据并使用htmlres.render文件进行渲染

app.js

var express = require('express');
var app = express();
var fs = require('fs')

app.get('/', function (request, response) {
  var text = fs.readFileSync("./men.text");
  var string = text.toString('utf-8')

  var textByLine = string.split("\n")
  console.log(textByLine);
  response.send(textByLine);
});

app.listen('8000');

虚拟输出:

enter image description here

答案 1 :(得分:1)

对于那些仍然在其中使用电子应用程序仍具有未定义功能的人:

解决方案(至少对我而言)是不这样做:

const fs = require('fs');

我做到了:

const fs = window.require('fs');

那解决了我所有的问题。

答案 2 :(得分:0)

var fs = require('fs');

var text = fs.readFileSync('./men.text', 'utf8');
var textByLine = text.split("\n");
console.log(textByLine);