当前位置:首页 > JavaScript

js实现桌面

2026-02-02 09:12:48JavaScript

使用 Electron 构建桌面应用

Electron 是一个流行的框架,允许使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用。它结合了 Chromium 和 Node.js,提供完整的桌面应用开发能力。

安装 Electron:

npm init -y
npm install electron --save-dev

创建主进程文件 main.js

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

function createWindow() {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }
  })

  win.loadFile('index.html')
}

app.whenReady().then(createWindow)

创建渲染进程文件 index.html

<!DOCTYPE html>
<html>
<head>
    <title>Electron App</title>
</head>
<body>
    <h1>Hello Electron!</h1>
</body>
</html>

package.json 中添加启动脚本:

{
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  }
}

运行应用:

npm start

使用 NW.js 构建桌面应用

NW.js 是另一个将 Node.js 和 Chromium 结合的工具,适合构建桌面应用。

安装 NW.js:

npm install nw --save-dev

创建 package.json

{
  "name": "nw-app",
  "main": "index.html",
  "scripts": {
    "start": "nw ."
  }
}

创建 index.html

<!DOCTYPE html>
<html>
<head>
    <title>NW.js App</title>
</head>
<body>
    <h1>Hello NW.js!</h1>
    <script>
        console.log('Node.js version:', process.versions.node)
    </script>
</body>
</html>

运行应用:

npm start

使用 Tauri 构建轻量级桌面应用

Tauri 是一个新兴的框架,使用 Rust 作为后端,生成的应用体积更小。

js实现桌面

安装 Tauri 先决条件:

npm install -g @tauri-apps/cli

创建项目:

npx create-tauri-app

构建和运行:

npm run tauri dev

使用 Neutralinojs 构建轻量级应用

Neutralinojs 是一个轻量级框架,不依赖 Node.js 运行时。

安装 CLI:

npm install -g @neutralinojs/neu

创建项目:

js实现桌面

neu create myapp
cd myapp

运行开发服务器:

neu run

打包和分发

Electron 打包示例:

npm install electron-packager --save-dev
npx electron-packager . MyApp --platform=win32 --arch=x64

Tauri 打包:

npm run tauri build

NW.js 打包:

npm install nw-builder --save-dev
npx nw-builder --platforms=win64 --buildDir=dist/

原生功能集成

Electron 中使用系统对话框:

const { dialog } = require('electron')
dialog.showOpenDialog({
  properties: ['openFile']
}).then(result => {
  console.log(result.filePaths)
})

访问文件系统:

const fs = require('fs')
fs.readFile('path/to/file', 'utf8', (err, data) => {
  if (err) throw err
  console.log(data)
})

性能优化

Electron 性能优化建议:

  • 禁用未使用的 Chromium 功能
  • 使用 webview 标签隔离重型内容
  • 启用硬件加速
  • 使用 contextIsolation 提高安全性
new BrowserWindow({
  webPreferences: {
    contextIsolation: true,
    sandbox: true
  }
})

标签: 桌面js
分享给朋友:

相关文章

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…