节点脚本ReferenceError:测试脚本中未定义fs错误

时间:2017-04-02 18:01:20

标签: javascript node.js

我正在尝试运行一个简单的js脚本来读取文件, 以下是我的脚本的内容:

"use strict"
fs = require('fs');
var args = process.argv.slice(2);
fs.readFile(args, 'utf8', function (err,data) {
  if (err) {
      return console.log(err);
        }
    console.log("Reading from file " + args);
    console.log(data);
});

当我尝试使用以下命令运行它时: node myTestFile.js testFile

我收到此错误:

fs = require('fs');
   ^
ReferenceError: fs is not defined
    at Object.<anonymous>     (/<Path to file>/myTestFile.js:2:4)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:393:7)
at startup (bootstrap_node.js:150:9)
at bootstrap_node.js:508:3

节点中的fs不像cd中的stdio这样的库吗?

我们是否必须在节点的某处显式定义库路径?

如何让上述示例正常工作?

3 个答案:

答案 0 :(得分:2)

问题不是require('fs'),而是左侧;你会得到与

相同的错误
fs = 42;

那是因为没有定义变量fs。使用constletvar定义它,如下所示:

const fs = require('fs');

答案 1 :(得分:1)

如日志中所述

ReferenceError: fs is not defined

您有一个ReferenceError可以定义JS

const fs = require('fs');

var fs = require('fs');

并在使用前声明fs。

const或var取决于您用来构建应用程序的javascript语法

答案 2 :(得分:0)

// Define the `fs` at the beginning of the script
const fs = require('fs');