未捕获的TypeError:fs.​​access不是函数错误

时间:2017-12-11 05:47:57

标签: javascript jquery node.js browserify

我想创建一个将csv文件转换为json对象的html页面。

我正在使用csvtojson npm模块来实现这一目标。

我正在使用“require”和browserify。但是当我运行命令时

browserify main.js -o bundle.js 

其中main.js是我的实际代码。我得到fs.exists没有定义。我检查了stackoverflow,发现它已被弃用。所以,我使用fs.access代替。我只是更改了bundle.js文件并将fs.exists更改为fs.access。但现在我收到fs.access不是函数的错误。

这是我的main.js文件

console.log("hi2");
$("#upload").on("click", function () {
    console.log("fff");
    const csvFilePath=document.getElementById('fileUpload').files[0];
    console.log("hi");
    const csv = require('csvtojson');
    csv()
    .fromFile(csvFilePath)
    .on('json',(jsonObj)=>{
        console.log(jsonObj)
    })
    .on('done',(error)=>{
        console.log('end')
    })
});

html文件 -

<!DOCTYPE html>
<html>
<head>
    <title></title>


</head>
<body>
    <input type="file" id="fileUpload" />
<input type="button" id="upload" value="Upload" />
<script
  src="https://code.jquery.com/jquery-3.2.1.min.js"
  integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
  crossorigin="anonymous"></script>
<script type="text/javascript" src="bundle.js"></script>

</body>
</html>

以下是我进行更改的bundle.js的代码段 -

  Converter.prototype.fromFile = function (filePath, cb, options) {
  var fs = require('fs');
  var rs = null;
  if (typeof cb ==="object" && typeof options === "undefined"){
    options=cb;
    cb=null;
  }
  this.wrapCallback(cb, function () {
    if (rs && rs.destroy) {
      rs.destroy();
    }
  });
  fs.access(filePath, function (exist) {
    if (exist) {
      rs = fs.createReadStream(filePath,options);
      rs.pipe(this);
    } else {
      this.emit('error', new Error("File not exists"));
    }
  });
  return this;
};

0 个答案:

没有答案