刚开始学习Node.js + Electron。我'我很难弄清楚以下代码的错误。
在控制台中我'我收到以下错误
var doc = new PDFDocument({
size: 'A4',
margin: 25
});
doc.fontSize(11);
doc.lineWidth(0.5);
const projects = Projects.find().fetch();
const rectXOffset = 25;
const rectYOffset = 25;
let rectPosition = 25;
let counter = 0;
for (var project of projects) {
//here
doc.save
if (counter % 2 == 0)
{
doc.rect(rectXOffset, rectPosition, doc.page.width - rectXOffset * 2, 25).fill("#ddd");
}
else
{
doc.rect(rectXOffset, rectPosition, doc.page.width - rectXOffset * 2, 25).fill("#c9c9c9");
}
rectPosition += rectYOffset;
counter++;
//and here
doc.restore
doc.text(project.projectName,100,100).fillColor("red");
}
doc.write(process.env.PWD + '/PDFKitExampleServerSide.pdf');
这是目前使用的代码
Not allowed to load local resource: file://%24%7B__dirname%7D/index.html
答案 0 :(得分:1)
您似乎正在尝试使用ES2015功能来打印网址。这需要反引号而不是正常的引号:
win.loadURL(`file://${__dirname}/index.html`)
或者你可以使用普通的字符串连接:
win.loadURL('file://' + __dirname + '/index.html')
更详细的解释
为了扩展这一点,ES2015(或ES6)是JavaScript的更新规范,已被现代浏览器和Node版本采用。它增加了一些在Strings中包含变量的功能,可以称之为“模板字符串”。它允许您使用反引号(而不是单引号或双引号)实例化String,并允许您将变量拖放到由美元符号和花括号分隔的字符串中。它旨在使字符串连接更容易,更冗长。
您在代码中所做的是使用美元符号和花括号,但不能恰当地实例化String以使用该功能。
查看更多here。