无法加载本地文件

时间:2016-09-25 07:34:07

标签: node.js electron

刚开始学习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

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试使用ES2015功能来打印网址。这需要反引号而不是正常的引号:

win.loadURL(`file://${__dirname}/index.html`)

或者你可以使用普通的字符串连接:

win.loadURL('file://' + __dirname + '/index.html')

更详细的解释

为了扩展这一点,ES2015(或ES6)是JavaScript的更新规范,已被现代浏览器和Node版本采用。它增加了一些在Strings中包含变量的功能,可以称之为“模板字符串”。它允许您使用反引号(而不是单引号或双引号)实例化String,并允许您将变量拖放到由美元符号和花括号分隔的字符串中。它旨在使字符串连接更容易,更冗长。

您在代码中所做的是使用美元符号和花括号,但不能恰当地实例化String以使用该功能。

查看更多here