iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue开发客户端如何配置
  • 355
分享到

vue开发客户端如何配置

2023-07-04 15:07:44 355人浏览 八月长安
摘要

这篇文章主要介绍了Vue开发客户端如何配置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue开发客户端如何配置文章都会有所收获,下面我们一起来看看吧。修改仓库源由于electron版本的未知性,可能存在ser

这篇文章主要介绍了Vue开发客户端如何配置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue开发客户端如何配置文章都会有所收获,下面我们一起来看看吧。

修改仓库源

由于electron版本的未知性,可能存在serve可用而build之后打开白屏的情况,因此需要谨慎对待。最好在版本可用的情况下commit一个版本,方便代码回滚。

在开始配置前,可以将yarn和npm的rc文件稍作修改,使用命令或者文件直接修改.npmrc或者.yarnrc,这两个全局配置文件一般在C:\user\你的当前账户这个文件夹下,或者在当前项目下新建文件命令rc文件以局部更改配置。
因为electron下载会因为网络问题而失败,因此修改为淘宝源,华为源亦可。

npm set config reGIStry Http://registry.npm.taobao.org/npm set config chromedriver_cdnurl http://registry.npm.taobao.org/chromedrivernpm set config electron_mirror http://registry.npm.taobao.org/electron/npm set config electron_builder_binaries_mirror http://registry.npm.taobao.org/electron-builder-binaries/

安装过程使用 vue create <your projectname> 自选为vue3版本,内容创建后进入项目目录,追加 vue electron-builder 配置electron,版本选择当前12版本。

启动

在package.JSON中已经装配好对应的启动命令,

  • 使用npm run electron:serve 开启开发

  • npm run electron:build 编译打包生产

更换vue-devtools

项目工程下 src/background.ts 为electron的启动目录,开发环境下会出现启动等待时间较长的以下情况

Launching Electron...
Failed to fetch extension, trying 4 more times
Failed to fetch extension, trying 3 more times
Failed to fetch extension, trying 2 more times
Failed to fetch extension, trying 1 more times

是因为项目需要联网谷歌商店下载并加载vue-devtools失败导致。

尝试了很多办法加载tools均失效,因此暂行手段:去掉tools。代码找到,去掉 installExtension 即可

app.on('ready', async () => {  if (isDevelopment && !process.env.IS_TEST) {    // Install Vue Devtools    try {    //  await installExtension(VUEjs_DEVTOOLS)    } catch (e) {      console.error('Vue Devtools failed to install:', e.toString())    }  }  createWindow()})

之前试了很多办法,不可用。后来再仔细对照以下,发现了一些问题。

vue3的版本和vue2版本的vue-devtools已然不同,所以vue2的dev-tools并不能给vue3使用,因此,需要下载vue3对应的开发工具。vue2版本最新为5.x,而vue3的版本则为6.x beta版本。可以通过crx4chrome下载此版本的插件。将下载好的crx解压出来,然后拷贝到工程根目录下 采用session加载的形式,将原来 await installExtension(VUEJS_DEVTOOLS)的部分替换为

import {session} from 'electron'app.on('ready', async () => {  if (isDevelopment && !process.env.IS_TEST) {    // Install Vue Devtools    try {    const vue_devtools = 'ljjemllljcmogpfapbkkighbhhppjdbg-6.0.0-beta-13-Crx4Chrome.com'    await session.defaultSession.loadExtension(path.resolve(vue_devtools))    } catch (e) {      console.error('Vue Devtools failed to install:', e.toString())    }  }  createWindow()})

启动项目后,即可以查看 vue 的扩展。 对于

(node:5904) ExtensionLoadWarning: Warnings loading extension at E:\scan\vue3_electron\ljjemllljcmogpfapbkkighbhhppjdbg-6.0.0-beta-13-Crx4Chrome.com:
  Unrecognized manifest key 'browser_action'.
  Unrecognized manifest key 'update_url'.
  Permission 'contextMenus' is unknown or URL pattern is malfORMed.
  Cannot load extension with file or directory name _metadata. Filenames starting with "_" are reserved for use by the system.
(Use `electron --trace-warnings ...` to show where the warning was created)

可以不予理会。如果不想看到烦人的提示可以到tools的manifest.json中删掉提示对应的内容

注意事项

<script setup> 语法不可以使用

当使用script-setup作为模块时,在serve阶段可以正常使用,但是在build之后组件未加载,页面呈现空白,且不报错,原因未知

使用 electron-edge-js 加载 C# 开发的 dll 文件,配置过程略微繁琐,花费2天时间寻求解答,但是均未果,以下是解决办法,需要对症下药

c++和c#开发的dll使用不同的加载器,c++使用ffi-napi

使用edge需要同时增加三处配置

当什么都没有配置时,将会发生 Uncaught (in promise) Error: Cannot find module '...\node_modules\electron\dist\resources\electron.asar\renderer\native\win32\x64\14.16.0\edge_nativeclr' 此时需要在vue.config.js文件增加,如果没有配置文件,则需要在package.json同级创建。

module.exports = {    pluginOptions: {        electronBuilder: {            externals: ['electron-edge-js']        }    }}

当配置未开启时,将不能使用 __dirname __filename等nodejs内置变量
Uncaught (in promise) ReferenceError: __dirname is not defined 首先需要配置 new BrowserWindow

{          // 如果使用到nodejs的api,则打包时需要将此设置为true    nodeIntegration: true,    // 同时,需要设置此项为false    // 未设置时报 Uncaught ReferenceError: require is not defined    contextIsolation: false  }

以上配置完成后会报 Uncaught (in promise) TypeError: fs.existsSync is not a function
此时需要继续增加 vue.config.js 的配置项

module.exports = {    pluginOptions: {        electronBuilder: {            externals: ['electron-edge-js'],            // 此处同样需要开启,将会在编译阶段将引用关系写入            nodeIntegration: true,         }    }}

如果单独配置此项,但是并没有开启 new BrowserWindow的 nodeIntegration: true ,则会发生 Uncaught ReferenceError: require is not defined

此外,对于dll放置的文件夹,一般在项目根目录创resources用于存放资源,并且项目打包过程中会不会直接打包资源目录,所以需要增加资源配置,以防止出错。对于文件的引用,在开发环境下,为当前所看到的结构,当编译打包后,为安装目录下resources目录,所以生产和开发的引用文件存在一定区别,可以实验后再看文件引用

 module.exports = {     pluginOptions: {         electronBuilder: {             externals: ['electron-edge-js'],             // 此处同样需要开启,将会在编译阶段将引用关系写入             nodeIntegration: true,              builderOptions:{                 extraResources: {                     // 拷贝静态文件到指定位置,否则会提示文件找不到                     from: 'resources/',                     to: './'                 },             }         }     } }

提供文件获取目录方法,可以直接获取不同操作系统下app的resource目录,如果是window即 process.platform==='win32'

const path = require('path')export function getAppResourcePath (filePath:string) {    if (process.platform === 'darwin' || process.platform === 'linux') {        if (process.env.NODE_ENV === 'development') {            return path.resolve('resources/' + filePath)        } else {            return path.join(__dirname, '..') + filePath        }    } else {        return path.resolve('resources/' + filePath)    }}

使用setup语法时,需使用require('electron-edge-js')引入,不可以使用import,否则会报 Syntax Error: TypeError: Cannot read property 'content' of null 而非 setup语法,则可以直接import

无边框窗口

系统本身是带有框架的,如果需要自定义框架,可以使用frameless 设置,如果需要使用自定义组件(比如 div.custom-frame-title)拖拽操作窗口时,需要给对应的元素增加样式:

 .custom-frame-title {   -WEBkit-user-select: none; // 此项防止与文本选择冲突   -webkit-app-region: drag; // 此项为系统相应状态栏 }

前后台通知

import {ipcMain,ipcRenderer} from 'electron'

在electron中有很多可用api,其中最重要的是:ipcMain和ipcRenderer,用于ui进程和系统进程的通信。 在vue内使用ipcRenderer.on('eventname') 接受系统发来的消息,用ipcRenderer.send('eventname') 发送通知给系统,同样ipcMain可以在主线程使用。

ipc通常结合自定义标题栏完成以下操作,或者其他需要操作窗口本身的事件

win.minimize() //最小化窗口win.maximize() //最大化窗口win.close() //关闭窗口win.hide() //隐藏窗口

Vue的优点

Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优势,Vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和dom,可以大大提升访问速度和用户体验。

关于“vue开发客户端如何配置”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“vue开发客户端如何配置”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: vue开发客户端如何配置

本文链接: https://www.lsjlt.com/news/346149.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue开发客户端如何配置
    这篇文章主要介绍了vue开发客户端如何配置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue开发客户端如何配置文章都会有所收获,下面我们一起来看看吧。修改仓库源由于electron版本的未知性,可能存在ser...
    99+
    2023-07-04
  • vue3+electron12+dll开发客户端配置详解
    目录修改仓库源启动更换vue-devtools注意事项无边框窗口前后台通知写在最后当前使用的版本为 @vue/cli4 创建的 vue3.0 + typescript + elect...
    99+
    2024-04-02
  • plsql如何配置oracle客户端
    这篇文章将为大家详细讲解有关plsql如何配置oracle客户端,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。配置 Oracle 客户端以连接到 PL/SQL 准备工作 安装 Oracle 客户机软件 ...
    99+
    2024-05-13
    PL/SQL Oracle客户端 tnsnames.ora 环境变量 连接验证
  • vue3+electron12+dll开发客户端配置的方法
    是因为项目需要联网谷歌商店下载并加载vue-devtools失败导致。尝试了很多办法加载tools均失效,因此暂行手段:去掉tools。代码找到,去掉 installExtension 即可app.on('ready', a...
    99+
    2023-05-14
    Vue3 electron dll
  • 怎么使用vue3+electron12+dll开发客户端配置
    今天小编给大家分享一下怎么使用vue3+electron12+dll开发客户端配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-06
  • Oracle11g中如何安装配置客户端
    这篇文章将为大家详细讲解有关Oracle11g中如何安装配置客户端,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数据库和客户端在不同的机器之上。在安装之前,在安装Orac...
    99+
    2024-04-02
  • vue3+electron12+dll开发客户端配置的示例分析
    小编给大家分享一下vue3+electron12+dll开发客户端配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!修改仓库源由于electron版本的...
    99+
    2023-06-15
  • 如何配置 Git 客户端的代理设置
    在使用 Git 进行代码版本控制时,我们常常会遇到因网络限制而无法正常连接 Git 仓库或者下载代码的情况。这时候,我们可以通过设置代理来解决这个问题。本文将会介绍在 Windows 操作系统中,如何配置 Git 客户端的代理设置。一、了解...
    99+
    2023-10-22
  • 如何解决WCF客户端配置问题
    小编给大家分享一下如何解决WCF客户端配置问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!WCF经过长时间的发展,很多用户都很了解WCF客户端配置了,这里我发表...
    99+
    2023-06-17
  • Python区块链客户端类如何开发
    这篇文章主要介绍“Python区块链客户端类如何开发”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python区块链客户端类如何开发”文章能帮助大家解决问题。开发客户端客户是持有TPCoins并从网...
    99+
    2023-06-30
  • plsql客户端怎么配置
    要配置PL/SQL客户端,您需要按照以下步骤进行操作: 下载并安装Oracle客户端软件:您可以从Oracle官方网站下载并安装...
    99+
    2023-10-24
    plsql
  • centos中如何为svn客户端配置代理
    本篇内容主要讲解“centos中如何为svn客户端配置代理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“centos中如何为svn客户端配置代理”吧!我是用root用户通过yum装的subver...
    99+
    2023-06-10
  • web开发中如何使用客户端脚本
    这篇文章给大家分享的是有关web开发中如何使用客户端脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 客户端脚本是指由用户的Web浏览器执行的计算机程序的类型。JavaScr...
    99+
    2024-04-02
  • ABAP git客户端怎么配置
    本篇内容介绍了“ABAP git客户端怎么配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先在github上创建一个空的代码仓库,然后将...
    99+
    2023-06-04
  • PHP MQTT客户端开发指南
    MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,通常用于物联网设备之间的通信。PHP是一种常用的服务器端编程语言,可以用来...
    99+
    2024-04-02
  • python网络-TFTP客户端开发(2
    一、 TFTP协议介绍 TFTP(Trivial File Transfer Protocol,简单文件传输协议) 是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议 特点: 简单 占用资源小 适合传递小文件 适...
    99+
    2023-01-31
    客户端 网络 python
  • Spring Cloud Config客户端怎么配置
    本篇内容主要讲解“Spring Cloud Config客户端怎么配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Cloud Config客户端怎么配置”吧!服务化配置中心在前面...
    99+
    2023-06-19
  • iphoneX如何适配客户端H5页面
    这篇文章主要介绍了iphoneX如何适配客户端H5页面,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言目前,很多APP设计师小伙伴已经开始...
    99+
    2024-04-02
  • Oracle 12.2简易客户端安装配置
    安装Oracle客户端挺费时间的,而且大部分功能都用不到,Oracle官方给出了简易客户端,直接解压就可以使用,下载地址:http://www.oracle.com/technetwork/topics/l...
    99+
    2024-04-02
  • nginx怎么配置客户端保存cookie
    这篇文章主要讲解了“nginx怎么配置客户端保存cookie”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx怎么配置客户端保存cookie”吧!问题在部署一个前人留下的dotnet ...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作