var fs = require('fs')未运行后的代码

时间:2018-11-04 13:54:17

标签: javascript node.js fs

为什么我的简单jquery无法在var fs = require('fs')代码之后运行。

这可以正常运行

    //here is my simple jquery
    $("#table th").css("color", "yellow");
//here starts the fs code
        var fs = require('fs');
        var output = fs.readFileSync('component names.txt', 'utf8').replace(/(\r)/gm, "").split('\n').map((line) => {
            let [Eng, Spa, ger] = line.split('\t');
            return {
                Eng,
                Spa,
                ger
            };
        });
        var Eng = output.map(item => item.Eng);
        var Spa = output.map(item => item.Spa);

但是,如果我将$(“#table th”)。css(“ color”,“ yellow”)放在底部,但由于要填充表格,该位置不起作用在这里:

var fs = require('fs');
var output = fs.readFileSync('component names.txt', 'utf8').replace(/(\r)/gm, "").split('\n').map((line) => {
    let [Eng, Spa, ger] = line.split('\t');
    return {
        Eng,
        Spa,
        ger
    };
});
var Eng = output.map(item => item.Eng);
var Spa = output.map(item => item.Spa);

//jquery
$("#table th").css("color", "yellow");

为什么?

1 个答案:

答案 0 :(得分:0)

我怀疑它与readFileSync函数有关。 尝试用try catch包裹它,看看它是否捕获了任何东西。 您说第一个代码有效,但是我认为您指的是jquery代码。我相信fs代码无法正常运行。

try {

  var output = fs.readFileSync('component names.txt', 'utf8').replace(/(\r)/gm, "").split('\n').map((line) => {
  let [Eng, Spa, ger] = line.split('\t');
    return {
      Eng,
      Spa,
      ger
    };
  });


  var Eng = output.map(item => item.Eng);
  var Spa = output.map(item => item.Spa);

} catch(e) {
  console.error(e) //see what's going on here
}

如果执行此操作,则jQuery代码将起作用,因为会捕获并忽略发生的任何错误,因此调试代码以免将来不会遇到任何问题非常重要