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

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现图片放大缩小

js实现图片放大缩小

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

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…