返回

javascript-在 ElectronJS 应用程序中,无法访问渲染器进程中的 __dirname 变量

发布时间:2022-09-03 23:54:16 472
# 前端

我现在正在尝试从“ Electron in Action ”一书中学习 ElectronJS(https://www.amazon.com/Electron-Action-Steve-Kinney/dp/1617294144/)。

我遇到困难的代码是我通过<script>加载到渲染器进程窗口中的 HTML 文件中的标签中的 JS 代码尝试访问__dirname变量(通常仅在节点中可用,但在 Electron 中可用,应该也可用于 Chromium 上下文)。

对于任何感兴趣的人,它是清单 2.8(第 28 页)。这是代码:

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'; connect-src *">

        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Bookmarker</title>

    </head>

    <body>

        <h1>Hello from Electron</h1>

        <p>

            <button class="alert">Current Directory</button>

        </p>

        

        <script>

            const button = document.querySelector('.alert');

            button.addEventListener('click', ()=> {alert(__dirname);});

        </script>

    </body>

</html>

这是主进程的代码:

const {app, BrowserWindow} = require('electron');

let main_window = null;

app.on('ready',

() =>

{

    console.log('Hello from Electron');

    main_window = new BrowserWindow();

 

    main_window.webContents.loadFile('app/index.html');

}

);

但它不起作用。在渲染窗口的开发人员控制台中,每次单击按钮时,都会出现错误,说明__dirname未定义。

我在下面附上了错误消息的屏幕截图: 错误日志

我该如何解决这个问题?提前致谢。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像
下一篇
haskell-将超过 1 个参数传递给 monad 2022-09-03 21:50:32