我想创建一个将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;
};