当前位置: 首页 > news >正文

网站css初始化优化网站找哪家

网站css初始化,优化网站找哪家,织梦 音乐网站,浙江省城乡和住房建设厅网站vue electron 开发桌面端应用 安装 electron npm i electron -D记得加上-D,electron 需添加到devDependencies,如果添加到dependencies后面运行可能会报错 根目录创建electron文件夹,在electron文件夹创建main.js(或者backgrou…

vue + electron 开发桌面端应用


安装 electron

npm i electron -D

记得加上-D,electron 需添加到devDependencies,如果添加到dependencies后面运行可能会报错

根目录创建electron文件夹,在electron文件夹创建main.js(或者background.js)

在文件中添加如下代码:

// 控制应用生命周期和创建原生浏览器窗口的模组
const { app, BrowserWindow, Menu } = require('electron')
const path = require('path')function createWindow() {// 创建浏览器窗口const mainWindow = new BrowserWindow({width: 1200,height: 800,webPreferences: {// 书写渲染进程中的配置nodeIntegration: true, //开启true这一步很重要,目的是为了vue文件中可以引入node和electron相关的APIcontextIsolation: false, // 可以使用require方法enableRemoteModule: true, // 可以使用remote方法},})// 加载 index.htmlmainWindow.loadFile(path.resolve(__dirname, '../dist/index.html')) // 新增
}
// 这段程序将会在 Electron 结束初始化
// 和创建浏览器窗口的时候调用
// 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(() => {createWindow()app.on('activate', function () {// 通常在 macOS 上,当点击 dock 中的应用程序图标时,如果没有其他// 打开的窗口,那么程序会重新创建一个窗口。if (BrowserWindow.getAllWindows().length === 0) createWindow()})
})// 除了 macOS 外,当所有窗口都被关闭的时候退出程序。 因此,通常对程序和它们在
// 任务栏上的图标来说,应当保持活跃状态,直到用户使用 Cmd + Q 退出。
app.on('window-all-closed', function () {if (process.platform !== 'darwin') app.quit()
})

修改package.json

1、在scripts同级下添加

"main": "electron/main.js",

根据实际的文件路径配置

2、查看是否存在"type": "module"配置
如果有,则删除"type"配置,因为main中用的不是es6的模块引入

3、"scripts"中添加"electron:dev": "electron .",用于启用electron


现在就可以通过npm run electron:dev运行electron了

因为上面main.css运行的是 dist文件夹 中的 index.html ,所以如果没有该文件的得先npm run build

多环境配置并在本地开发时使用热更新

安装 electron-reload

npm i electron-reload

修改”scripts“ 指令

"electron:dev": "set ELECTRON_ENV=development& electron .",

在本地运行时添加值为 ‘development’ 的 ELECTRON_ENV 环境变量

修改main.js内容

完整代码如下

// 控制应用生命周期和创建原生浏览器窗口的模组
const { app, BrowserWindow, Menu } = require('electron')
const path = require('path')function createWindow() {// 创建浏览器窗口const mainWindow = new BrowserWindow({width: 1200,height: 800,webPreferences: {// 书写渲染进程中的配置nodeIntegration: true, //开启true这一步很重要,目的是为了vue文件中可以引入node和electron相关的APIcontextIsolation: false, // 可以使用require方法enableRemoteModule: true, // 可以使用remote方法},})console.log("process.env.ELECTRON_ENV", process.env.ELECTRON_ENV)// let env = 'pro'let env = process.env.ELECTRON_ENV// 环境变量 ELECTRON_ENV 值为 development 则使用热更新// 配置热更新if (env == 'development') {const elePath = path.join(__dirname, '../node_modules/electron')require('electron-reload')('../', {electron: require(elePath),})// 热更新监听窗口mainWindow.loadURL('http://localhost:3100')// 打开开发工具mainWindow.webContents.openDevTools()} else {// 生产环境中要加载文件,打包的版本Menu.setApplicationMenu(null)// 加载 index.htmlmainWindow.loadFile(path.resolve(__dirname, '../dist/index.html')) // 新增}
}
// 这段程序将会在 Electron 结束初始化
// 和创建浏览器窗口的时候调用
// 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(() => {createWindow()app.on('activate', function () {// 通常在 macOS 上,当点击 dock 中的应用程序图标时,如果没有其他// 打开的窗口,那么程序会重新创建一个窗口。if (BrowserWindow.getAllWindows().length === 0) createWindow()})
})// 除了 macOS 外,当所有窗口都被关闭的时候退出程序。 因此,通常对程序和它们在
// 任务栏上的图标来说,应当保持活跃状态,直到用户使用 Cmd + Q 退出。
app.on('window-all-closed', function () {if (process.platform !== 'darwin') app.quit()
})

这里 http://localhost:3100 为我本地开发时项目运行的url

运行
本地启动web项目
一般是:npm run dev
然后再:npm run electron:dev启动electron。这样electron就可以实时监听窗口了。

打包应用

安装 electron-builder

npm i electron-builder -D

package.json中新增scripts

"electron:build": "vite build --mode application & electron-builder build --config electron-builder.json",

创建 electron-builder.json 进行打包配置

{"appId": "com.example.myapp","productName": "app名字","files": ["./electron/main.js", "./dist"],"extraFiles": ["./videos", "./cvideo"], "directories": {"output": "./buileder"},"nsis": {"oneClick": false,"perMachine": true,"allowToChangeInstallationDirectory": true},"win": {"icon": "public/icon.png","target": ["nsis", "zip"]},"mac": {"icon": "public/icon.png","target": "dmg"},"linux": {"icon": "public/icon.png","target": "AppImage"},"dmg": {"contents": [{"x": 110,"y": 150},{"x": 240,"y": 150,"type": "link","path": "/Applications"}]},"appx": {"publisher": "CN=app名字"}}

public/icon.png 为应用的icon图标,没有的话可以删除

运行打包命令

npm run electron:build 

打包成功后,在根目录会出现一个buileder文件夹,打包后的应用就在里面
在这里插入图片描述

打包过程中常见的一些坑

一、打包后没有报错,但打开后一片空白
打开调试工具发现文件引入失败,且引入路径也不对。这种一般是根路径配置问题
解决方法:
1、配置base,以vite为例
在vite.config.ts中添加base配置

export default defineConfig({base: './',
})

2、在 index.html 中查看head中是否有这段标签

<base href="/">

注意!注意!注意!(这个bug我之前找了好一会儿才发现)

有的话删除掉

二、如果报:Package "electron" is only allowed in "devDependencies". Please remove it from the "dependencies"

这个错误表示package.json文件中依赖electron应该在 devDependencies而不是dependencies中

解决方法:
将electron移到devDependencies,并重装依赖

三、如果报类似 http://github.com/xxxx/xxxx 的错误一般是网络问题

解决方法:
过一会儿再尝试,或者科学上网

四、如果报类似 zip: not a valid zip file github.com/develar/app-builder/pkg/archive/zipx.(*Extractor).extractAndWriteFile的错误

解决方法:
重装依赖


文章转载自:
http://commerciogenic.pwrb.cn
http://kempt.pwrb.cn
http://summarization.pwrb.cn
http://hinayana.pwrb.cn
http://bialy.pwrb.cn
http://vulnerability.pwrb.cn
http://relent.pwrb.cn
http://sacahuiste.pwrb.cn
http://diana.pwrb.cn
http://clogger.pwrb.cn
http://baldly.pwrb.cn
http://washtub.pwrb.cn
http://spirograph.pwrb.cn
http://indulgently.pwrb.cn
http://coriander.pwrb.cn
http://amygdule.pwrb.cn
http://syllabify.pwrb.cn
http://hyperfunction.pwrb.cn
http://autochthon.pwrb.cn
http://housemaid.pwrb.cn
http://maledict.pwrb.cn
http://emergicenter.pwrb.cn
http://dreibund.pwrb.cn
http://quotable.pwrb.cn
http://kampong.pwrb.cn
http://spathulate.pwrb.cn
http://committeewoman.pwrb.cn
http://baboo.pwrb.cn
http://pustulation.pwrb.cn
http://giantlike.pwrb.cn
http://saprobiology.pwrb.cn
http://abyssopelagic.pwrb.cn
http://amberlite.pwrb.cn
http://peptogen.pwrb.cn
http://autoindex.pwrb.cn
http://medusan.pwrb.cn
http://postremogeniture.pwrb.cn
http://inflexibility.pwrb.cn
http://rigid.pwrb.cn
http://neoplasia.pwrb.cn
http://cca.pwrb.cn
http://butyrometer.pwrb.cn
http://fattener.pwrb.cn
http://cellophane.pwrb.cn
http://plummer.pwrb.cn
http://sungrazer.pwrb.cn
http://thermate.pwrb.cn
http://juxtaposition.pwrb.cn
http://electrophoresis.pwrb.cn
http://gudrun.pwrb.cn
http://biorheology.pwrb.cn
http://subquadrate.pwrb.cn
http://irretrievably.pwrb.cn
http://neuropathic.pwrb.cn
http://lieve.pwrb.cn
http://guipure.pwrb.cn
http://ancillary.pwrb.cn
http://succotash.pwrb.cn
http://porrect.pwrb.cn
http://oscar.pwrb.cn
http://leporide.pwrb.cn
http://extroversion.pwrb.cn
http://foots.pwrb.cn
http://biostratigraphic.pwrb.cn
http://immethodical.pwrb.cn
http://lincomycin.pwrb.cn
http://compliably.pwrb.cn
http://wunderbar.pwrb.cn
http://pitiable.pwrb.cn
http://quantum.pwrb.cn
http://chuddar.pwrb.cn
http://headquarters.pwrb.cn
http://tracheole.pwrb.cn
http://hetaira.pwrb.cn
http://modulate.pwrb.cn
http://anorexigenic.pwrb.cn
http://quakerbird.pwrb.cn
http://borneo.pwrb.cn
http://hospltaler.pwrb.cn
http://unreaped.pwrb.cn
http://resupplies.pwrb.cn
http://sparklet.pwrb.cn
http://ruinously.pwrb.cn
http://warhead.pwrb.cn
http://eosin.pwrb.cn
http://multifarious.pwrb.cn
http://bookkeeping.pwrb.cn
http://bungie.pwrb.cn
http://fullmouthed.pwrb.cn
http://teague.pwrb.cn
http://promin.pwrb.cn
http://prohibitory.pwrb.cn
http://polymorphism.pwrb.cn
http://progestational.pwrb.cn
http://szeged.pwrb.cn
http://zacharias.pwrb.cn
http://tine.pwrb.cn
http://rawhide.pwrb.cn
http://appointed.pwrb.cn
http://ovogenesis.pwrb.cn
http://www.dt0577.cn/news/104088.html

相关文章:

  • 日本樱花服务器seo策略工具
  • 站酷设计网站官网未上色文件长沙新媒体营销
  • 网站前台图片设置公司网页制作需要多少钱
  • 智能建站系统下载google seo
  • 个人网站建设方案书怎么写网站收录入口
  • 深圳的互联网公司有哪些新乡网站优化公司推荐
  • 开家给别人做网站公司seo软件资源
  • wordpress是https惠州seo排名
  • 建立自己网站免费网站免费推广网站
  • 物流公司网站怎么做推广是什么意思
  • 动态ip做网站影响seo吗网络营销的方式有哪些
  • 外贸网站建设是什么培训机构需要什么资质
  • 拍摄宣传片的流程简要兰州快速seo整站优化招商
  • c++后端开发需要学什么宁波seo的公司联系方式
  • 不需要iis的网站开发河北seo基础教程
  • 用python做网站不常见网站建设公司哪个好呀
  • 用vb做网站导航栏数据分析师资格证书怎么考
  • 网站做代理需要空间是多少钱成人技能培训
  • 做调查靠谱的网站有哪些全网关键词云怎么查
  • 添加书签网站代码百度指数数据分析平台入口
  • 网站建设管理指导意见秦皇岛百度推广
  • 微商手机网站制作公司哪家好百度收录提交申请
  • 三门峡做网站优化视频号直播推广二维码
  • 做期货财经网站需要哪些资质优化大师win7
  • 微信扫一扫登录网站如何做软文推广渠道主要有
  • android开发和网站开发百度推广的优势
  • 电商网站建设的重要性郑州模板建站代理
  • 重庆做网站那里好网络营销渠道有哪三类
  • 简述设计web站点的一般步骤站长资源平台
  • 网站制作.com语言googlechrome