vue项目引入electron详细方法
时间: 2023-08-13 13:08:26 浏览: 230
下面是在 Vue 项目中引入 Electron 的详细方法:
1. 首先,需要在 Vue 项目的根目录下安装 Electron:
```
npm install electron --save-dev
```
2. 在项目根目录下创建一个 `main` 目录,并在该目录下创建一个 `index.js` 文件,用于启动 Electron:
```javascript
const { app, BrowserWindow } = require('electron')
function createWindow () {
// 创建浏览器窗口
let win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
})
// 加载 Vue 项目的主页面
win.loadURL('http://localhost:8080')
// 打开开发者工具
win.webContents.openDevTools()
}
// Electron 初始化完成后执行的回调函数
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()
})
```
在 `package.json` 文件中添加以下脚本:
```json
{
"scripts": {
"electron": "electron main/index.js"
}
}
```
3. 修改 `vue.config.js` 文件,在开发模式下执行 `electron` 命令启动 Electron:
```javascript
module.exports = {
// ...
devServer: {
before (app, server) {
if (process.env.NODE_ENV === 'development') {
const electron = require('child_process').spawn('npm', ['run', 'electron'])
electron.stdout.on('data', data => {
console.log(data.toString())
})
electron.stderr.on('data', data => {
console.error(data.toString())
})
electron.on('close', code => {
console.log(`Electron exited with code ${code}`)
})
}
}
}
}
```
4. 在 `public` 目录下创建一个 `electron.js` 文件,用于判断当前是否在 Electron 中运行:
```javascript
window.isElectron = navigator.userAgent.toLowerCase().indexOf(' electron/') > -1
```
5. 修改 `public/index.html` 文件,根据当前是否在 Electron 中运行来加载不同的脚本:
```html
<body>
<noscript>
<strong>We're sorry but my-app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<script>
if (window.isElectron) {
require('./electron.js')
} else {
document.write('<script src="http://localhost:8080/js/chunk-vendors.js"></script><script src="http://localhost:8080/js/app.js"></script>')
}
</script>
</body>
```
6. 最后,在命令行中执行以下命令启动 Vue 项目:
```
npm run serve
```
在浏览器中访问 `http://localhost:8080`,即可看到 Vue 项目的主页面。同时,在命令行中执行以下命令启动 Electron:
```
npm run electron
```
即可看到 Electron 窗口中加载了 Vue 项目的主页面。
注意:在 Electron 中使用 Vue,需要在 `webPreferences` 中设置 `nodeIntegration` 为 `true`,这样才能在渲染进程中使用 Node.js 模块。但是,这样也会存在一些安全问题,需要注意。
阅读全文