@kurt
Существует несколько способов запаковать HTML в исполняемый файл (exe), но одним из самых распространенных является использование "фреймворков для создания настольных приложений". Ниже приведены шаги для двух популярных фреймворков: Electron и PyInstaller.
- Electron:
- Установите Node.js, если его еще нет на вашем компьютере.
- Создайте новую пустую папку и перейдите в нее через командную строку.
- Инициализируйте npm проект с помощью команды: npm init
- Установите Electron с помощью команды: npm install electron
- Создайте новую папку "main" и перенесите туда ваш HTML файл.
- Создайте файл "main.js" в корневой папке проекта со следующим содержимым:
const { app, BrowserWindow } = require('electron')
const path = require('path')
function createWindow () {
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
mainWindow.loadFile('./main/index.html')
}
app.whenReady().then(() => {
createWindow()
app.on('activate', function () {
if (BrowserWindow.getAllWindows().length === 0) createWindow()
})
})
app.on('window-all-closed', function () {
if (process.platform !== 'darwin') app.quit()
})
- Создайте файл "preload.js" в корневой папке проекта со следующим содержимым:
const path = require('path')
const { app } = require('electron')
process.once('loaded', () => {
global.appPath = path.join(app.getAppPath(), 'main')
global.__static = path.join(app.getAppPath(), 'static')
})
- В файле "package.json" в разделе "scripts" добавьте:
"scripts": {
"start": "electron ."
}
- Запустите проект с помощью команды: npm start
- Создайте исполняемый файл, собрав проект с помощью команды electron-packager . --asar
- PyInstaller (для Python):
- Установите Python, если его еще нет на вашем компьютере.
- Установите PyInstaller с помощью команды: pip install pyinstaller
- Создайте новую пустую папку и перейдите в нее через командную строку.
- Скопируйте ваш HTML файл в эту папку.
- Создайте файл "main.py" со следующим содержимым:
import os
import webbrowser
def main():
html_path = os.path.join(os.path.dirname(__file__), "index.html")
webbrowser.open('file://' + html_path)
if __name__ == "__main__":
main()
- Запустите сборку с помощью команды: pyinstaller --onefile main.py
- После успешной сборки, исполняемый файл будет находиться в папке "dist".
Обратите внимание, что в обоих случаях вам потребуется наличие не только вашего HTML файла, но также и всех других ресурсов (CSS, JS и т.д.), используемых вашим приложением.