Javascript 参数列表后的nodejs pdf2json(缺失)
我是Javascript nodejs新手,我尝试使用hithub提供的modestry/pdf2json。但有一个错误显示缺失)语法错误,下面是代码和注释中的错误符号Javascript 参数列表后的nodejs pdf2json(缺失),javascript,node.js,Javascript,Node.js,我是Javascript nodejs新手,我尝试使用hithub提供的modestry/pdf2json。但有一个错误显示缺失)语法错误,下面是代码和注释中的错误符号 let fs = require('fs'), PDFParser = require("./pdf2json/PDFParser"); let pdfParser = new PDFParser(); pdfParser.on("pdfParser_dataError", errData => console
let fs = require('fs'),
PDFParser = require("./pdf2json/PDFParser");
let pdfParser = new PDFParser();
pdfParser.on("pdfParser_dataError", errData => console.error(errData) );
//Syntax error here missing ) at "errData"
pdfParser.on("pdfParser_dataReady", pdfData => {
let pJSON = JSON.stringify({"formImage": pdfData.data});
//Syntax error here missing ) at "pdfData"
fs.writeFile("./pdf2json/test/F1040EZ.json", pJSON, (err) => {
if(err) {
console.error("parsing error: ", err);
}
else {
console.log("parsing succeeded");
}
});
});
pdfParser.loadPDF("./pdf2json/test/pdf/fd/form/F1040EZ.pdf");
// or, call directly with buffer
fs.readFile(pdfFilePath, function (err, pdfBuffer) {
if (!err) {
pdfParser.parseBuffer(pdfBuffer);
}
})
“=>”是什么意思?原因错误倾向于弹出带有此符号的行。它是ES6标记:
param => { }
同:
function (param) { }
以下代码在节点中工作:
"use strict"
let fs = require("fs"),
PDFParser = require("pdf2json");
let pdfParser = new PDFParser();
pdfParser.on("pdfParser_dataError", errData => {
console.error(errData)
});
pdfParser.on("pdfParser_dataReady", pdfData => {
let pJSON = JSON.stringify({
"formImage": pdfData.data
});
fs.writeFile("./pdf2json/test/F1040EZ.json", pJSON, err => {
if (err) {
console.error("parsing error:", err);
} else {
console.log("parsing succeeded");
}
});
});
pdfParser.loadPDF("./pdf2json/test/pdf/fd/form/F1040EZ.pdf");
您还可以尝试使用ES5版本的代码:(注意函数和
var
而不是let
)
这是ES6中引入的箭头函数 根据, 与函数表达式相比,arrow函数表达式(也称为fat arrow函数)的语法更短,并且在词汇上绑定this值(不绑定自己的this、arguments、super或new.target)。箭头函数总是匿名的
(param1, param2, …, paramN) => { statements }
(param1, param2, …, paramN) => expression
// equivalent to: => { return expression; }
// Parentheses are optional when there's only one parameter:
(singleParam) => { statements }
singleParam => { statements }
// A function with no parameters requires parentheses or an underscore:
() => { statements }
_ => { statements }
你能告诉我你是如何执行这段代码的吗
更新:
在严格模式之外还不允许块作用域声明。因此,在脚本中使用严格模式。这是OP所说的节点。你为什么说浏览器?还是有错误,是因为我的节点版本吗?节点v3.3.1节点JS v0.10.25确实严重过时。据我回忆,节点0.10有ES6的基本支持,也许正因为如此,您遇到了一些问题。让我为您创建一个ES5版本。实际上,我使用命令节点{filename}.js执行此命令
(param1, param2, …, paramN) => { statements }
(param1, param2, …, paramN) => expression
// equivalent to: => { return expression; }
// Parentheses are optional when there's only one parameter:
(singleParam) => { statements }
singleParam => { statements }
// A function with no parameters requires parentheses or an underscore:
() => { statements }
_ => { statements }