当前位置:首页 > 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实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与响应式…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…