node.js - 无法加载本地文件

标签 node.js electron

今天才开始学习Node.js + Electron。我很难弄清楚下面的代码出了什么问题。

在控制台中,我收到以下错误

Not allowed to load local resource: file://%24%7B__dirname%7D/index.html

这是当前正在使用的代码
const electron = require('electron')
const {app, BrowserWindow} = electron

app.on('ready', function(){
    let win = new BrowserWindow({
        width: 600,
        height: 500
    })
    win.loadURL('file://${__dirname}/index.html')
    win.webContents.openDevTools()
})

最佳答案

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

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

或者,您可以只使用普通的字符串合并:
win.loadURL('file://' + __dirname + '/index.html')

更详细的说明

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

您在代码中执行的操作是使用美元符号和花括号,但没有适本地实例化String以使用该功能。

查看更多here

关于node.js - 无法加载本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39684470/

相关文章:

javascript - 使用 React 和 Electron - react 路由器错误

node.js - 无法为 Ionic 安装 node-sass

javascript - 没有 MongoJS 的 Node.js + MongoDB

node.js - Electron如何确定requestSingleInstanceLock的应用程序身份?

javascript - win 中的 path.join 和 electro.openExternal

node.js - 当 Electron 应用程序关闭时,如何从 main 发送消息进行渲染

javascript - 正则表达式替换为捕获的

javascript - 使用 javascript 创建 Instagram 风格的过滤器?

javascript - 如何在 Angular 4 中使用路由器 url 通配符?

electron - 当窗口不可见时,如何使CapturePage工作?