Я не получаю желаемого результата при запуске следующего электронного приложения, т.е. окна предупреждения, содержащего pwd в качестве вывода. Однако закомментированная строка внутри index. html, похоже, работает нормально. Консоль разработчика окна Chrome сообщает: «Uncaught ReferenceError: __dirname is not defined at HTMLButtonElement. ». Этот фрагмент дословно взят (за исключением строки с комментариями) из книги «Электрон в действии» Стива Кинни, издание 2019 года.
любые предложения?
пакет. json выглядит следующим образом
{
"name": "bookmarker",
"version": "1.0.0",
"description": "electron app",
"main": "./app/main.js",
"scripts": {
"start": "electron .",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Wasim Aftab",
"license": "ISC",
"dependencies": {
"electron": "^9.0.0"
}
}
main. js выглядит следующим образом
const {app, BrowserWindow} = require('electron');
let mainWindow = null;
app.on ('ready', () => {
console.log('Hello, from electron');
mainWindow = new BrowserWindow();
mainWindow.webContents.loadFile(__dirname + '/index.html');
});
index. html выглядит следующим образом
<!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>
</body>
<script>
const button = document.querySelector('.alert');
button.addEventListener('click', () => {
alert(__dirname);
// alert(window.location.pathname.replace(/[^\\\/]*$/, ''));
});
</script>
</html>