Electron-Vue之安装流程

2023-05-16

近期摒弃了熟悉的WPF,选用了新的一套工具(Electron-Vue)来开发桌面软件。(我是连html都没用过的猿,^no zuo no die^)。
接触新的东西,往往都碰到不少问题,记录下踩过的坑,以及正确姿势该如何打开,为猿类们提供借鉴。

下面介绍下正确的Electron-Vue安装流程:

《目录》

  1. 安装流程
    1.1. node.js和npm安装
    1.2. 淘宝镜像安装
    1.3. electron安装
    1.4. vue安装
    1.5. 创建脚手架
    1.6. 下载依赖文件
    1.7. 运行项目
  2. 问题解决
    2.1. 问题描述
    2.2. 解决方案
1.安装流程

以下是基于windows-64系统上进行安装。

1.1.node.js和npm安装

安装包下载官网:https://nodejs.cn/download/,选择最新的长期支持版本下载即可。
在这里插入图片描述
安装node时,一直选择默认的即可。如果要更改安装路径,安装完成后,记得更改系统变量的path。
在安装node的时候,npm也会同时安装了。确认node和npm的版本的方法是,在命令行中分别输入指令:node -vnpm -v 。如能正常获取到相应的版本号,即说明安装成功。
这时候安装的npm版本未必是最新的,可以通过指令进行升级,以下两条指令均可升级:
npm install -g npmnpm update -g
在这里插入图片描述

1.2.淘宝镜像安装

首先说明下,该步骤可先跳过,直接进入1.3节,先尝试是否可以直接访问国外服务器,如果失败了,也就是被墙了的话,就走这一节的流程。
当然了,直接走这步也没事,免得折腾。
有两种处理方式方式,一种是用淘宝制作的cnpm镜像,另一种是配置注册到淘宝镜像路径上的。下面分别说明两种方式的处理方法:
1.直接采用cnpm
再次说明下,cnpm是淘宝制作的,是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),其官网:https://npm.taobao.org/
OK,怎么安装cnpm,命令行执行:

npm install -g cnpm --registry=https://registry.npm.taobao.org

如果执行到某阶段卡住很长时间都没有log打印的话,那就退出重来吧,以下第一次执行卡了十几分钟都没反应后,退出重新执行,很快就成功的。
在这里插入图片描述
然后再确认下cnpm是否装成功,指令:cnpm -v
在这里插入图片描述
特此提醒:如果用此方式安装,后续的指令都要将npm换成cnpm。
效果:该方法不见得没有问题,我在办公电脑上用这方法安装,在1.6节的那一步一直都失败,但在自用PC上是顺利安装成功的。具体失败问题,请见第2章的问题解决。
2.仍保留npm
借用注册的淘宝镜像路径来安装,配置该注册的指令:

npm config set registry https://registry.npm.taobao.org

确认是否注册成功:

npm config get registry

在这里插入图片描述
效果:前面遇到的下载依赖文件失败问题,就是用这种方式解决的。请见第2章的问题解决。

1.3.electron安装

提示:如果前面是用cnpm,本节中的npm必须替换为cnpm,具体指令中不再标明。
本节和1.4节顺序可调换。
安装electron指令:npm install -g electron
确认是否安装成功:electron -v
在这里插入图片描述
到此即可下载个demo来运行了,基于electron的,看是否可以正常编译和运行。
编译的指令:electron .
在这里插入图片描述

1.4.vue安装

提示:如果前面是用cnpm,本节中的npm必须替换为cnpm,具体指令中不再标明。
如果是要用vue框架,就需要安装vue,指令:npm install -g vue-cli
确认是否安装成功,指令:vue
在这里插入图片描述

1.5.创建脚手架

创建个脚手架(或者叫模板)指令:vue init simulatedgreg/electron-vue xxx(project)
我创建一个vuelder的项目,即为:vue init simulatedgreg/electron-vue helloworld
在这里插入图片描述

1.6.下载依赖文件

提示:如果前面是用cnpm,本节中的npm必须替换为cnpm,具体指令中不再标明。
先切换到项目路径,下载依赖文件的指令为:npm install
如果下载成功,命令行中打印有以下信息,而且项目文件中会多出node_modules文件夹,该文件夹中文件就是各种依赖文件。
这一步走的很艰难,用cnpm的方式在这个阶段一直下载不成功,问题是如何解决的,见第二章的说明。
在这里插入图片描述
在这里插入图片描述

1.7.运行项目

提示:如果前面是用cnpm,本节中的npm必须替换为cnpm,具体指令中不再标明。
安装成功后就可以运行了,指令是:npm run dev
然后弹出界面:
在这里插入图片描述

2.问题解决 2.1.问题描述

安装这套环境碰到的最大最持久的问题,就是在第6步,即1.6节下载依赖文件遇到的问题。到目前,还不明确,该问题是不是属于网络超时问题。
我是在直接采用 npm 来下载 electron 或 vue-cli 失败的情况下,选择了安装淘宝镜像,即1.2节中的第1种方法。
但是,在cnpm install执行时,出现 Error [ERR_STREAM_WRITE_AFTER_END],问题表现如图所示:
(写这篇博文前,求助过同类,但没有得到解决方案,需要了解见详细问题)
在这里插入图片描述

2.2.解决方案

该问题困扰了好几天,网上查找时发现,出现此类问题帖子只有两例,而都没有答案。尝试过的方式有:
1、尝试更改Urllib.js种的timeout时间,由5s改为10s,仍失败。
2、开放433端口,好吧,仍失败
3、网上有说新版本可能不稳定,然后降低npm版本,仍失败。
4、OK,终于尝试到成功的方法了。
① 同事提醒说npm应升级,原来node安装包中带的npm不是最新版的,OK,升级到新版本: npm install -g npm,始终升级不了。好吧,可能版本太低了,跟node配合不了,卸载node重装。
② 重装后,升级node,升级指令:
npm install -g npm 或者 npm update -g
③ 这node的重装,是得所有都要重新走一遍,也就是前面的步骤。但是,第2步改为使用npm而非cnpm,要配置注册到淘宝镜像,注意不是使用cnpm。方法是使用以下指令配置:

npm config set registry https://registry.npm.taobao.org

一路走下去,畅通无比,只是公司网速真的堪忧。
开心,终于见到你(复用该照片,因为高兴啊^^)
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Electron-Vue之安装流程 的相关文章

  • 如何阻止 Electron windows 共享 cookie?

    我正在电子应用程序中创建多个浏览器窗口 但我不希望它们共享 cookie 这就是我目前创建窗口的方式 function createWindow Create the browser window let mainWindow new Br
  • 电子生成器应用程序大小太大

    我发现使用 Electron builder 生成的 MyApp exe 文件有将近 500M 左右 我不确定我做了什么 因为以前 仅对于 ia32 或 x64 它大约是 196M 我也看了这个link https stackoverflo
  • 无法确定 Electron 版本。请指定 Electron 版本

    我试图创建可执行文件electron app但面临这个问题 无法确定 Electron 版本 请指定 Electron 版本 虽然我有electron全球安装在我的机器上 但仍然给我错误 Install electron as dev de
  • 正则表达式模式忽略多个文件夹

    忽略多个文件和文件夹的正确语法是怎样的电子包装机 https www npmjs com package electron packager 只有一个参数 例如 ignore docs 效果很好 但我想忽略多个文件夹和文件 例如 ignor
  • 我应该使用什么作为电子应用程序的后端? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我知道我可以使用 HTML CSS JavaScript 或任何其他前端框架来设计 UI 我什至知道我可以连接到任何远程 API 如果我想要一个
  • setInterval 使用 Electron 一小时后停止

    希望有人能在这里指出我正确的方向 我的电子应用程序需要每 10 分钟左右执行一次 API 调用 目前 我在渲染器进程中使用 setInterval 循环来执行此操作 该循环每 10 分钟触发一次 它通常工作得很好 几个小时后似乎就停止了 我
  • 如何使用电子反应样板正确设置材料用户界面

    我在使用 electro react boilerplate 运行的material ui v4 9 5 库时遇到问题 重现 跟着安装教程 https electron react boilerplate js org docs insta
  • 如何使用Electron的app.getPath()来存储数据?

    我想将图像存储在用户计算机上 所以我认为它应该存储在用户数据文件夹中 如上所述here https github com electron electron blob master docs api app md appgetpathnam
  • 电子如何创建增量文件

    I use electron builder构建我的应用程序并成功构建第一个版本 其中包含三个输出 foosetup exe foo 0 0 1 full nupkg 和 RELEASES 现在我想实现自动更新 并且我已经部署了后端服务通过
  • 节点模块是针对不同的节点模块编译的 67

    我有一个在节点模块版本 67 下编译的节点项目 但现在我收到一个错误 它需要节点模块版本 69 usb bindings node was compiled against a different Node js version using
  • Electron - 如何将 html 文件加载到当前窗口?

    我四处寻找 文档 谷歌等 了解如何在电子应用程序的主窗口中加载 html 文件 但我找不到方法 事情真的这么复杂还是这么简单 我想出的是ajax 因此有效 main load views details html 我发现的另一种方法是通过远
  • 如何在 Electron BrowserWindow 中查看 PDF?

    所以我有这个 Electron 应用程序 在一个 html 文件中 我链接了另一个脚本 该脚本为程序提供了一些实用功能 其中之一是 function openPDF filePath let pdfWindow new electron r
  • 在电子中创建多个预加载文件(每页一个)

    我正在创建我的第一个 Electron 应用程序 并且完成了表单的第一页 现在这个应用程序不是 SPA 所以我有大约 3 4 个不同的页面 并且页面通向另一个页面 为了允许正确的代码组织 我想为每个面向客户端的页面保留一个单独的预加载文件
  • Electron打包后不支持ES6

    我正在使用各种ES6语法 http es6 features org 例如importETC React https reactjs org code JSX https reactjs org docs introducing jsx h
  • Electron 构建应用程序无法启动 Express 服务器

    我正在构建一个应用程序 当我处于开发人员模式时一切正常 每件事都按其应有的方式运作 但是 当我使用电子构建器打包我的应用程序时 应用程序会打开 但它不会启动快速服务器 并且应用程序无法正常工作 这是我的 package json 代码 na
  • 无法打开目标 = 空白的 Electron webview 链接

    我正在使用 Electron 我有一个显示外部网站的 webview 但我无法成功显示通常由该网站上的链接打开且目标 blank 的附加窗口 a href mentions html target blank Mentions l gale
  • 处理来自 Electron (或其他桌面平台)的 oauth2 重定向

    这主要是缺乏对 oauth2 的理解 并且可能不是特定于 Electron 的 但是我试图理解某人如何处理来自桌面平台 如 Electron 的 oauth2 重定向 url 假设应用程序中没有 Web 服务设置 桌面应用程序如何提示用户输
  • electronics-react-boilerplate:单击按钮时的子窗口

    我怀疑如何将reactjs文件加载到新窗口中 单击电子反应样板中的按钮 const handleVideoCall gt const remote require electron remote const BrowserWindow re
  • Angular2 rc5 和 Electron 错误 - 无法使用解析组件

    我正在学习如何将 Angular2 与 Electron 一起使用 目前我正在使用最新的 Angular rc5 和最新版本的 Electron 我决定使用官方的 Angular 教程 英雄之旅 在我开始路由之前 我没有遇到什么大问题 我必
  • 电子应用程序的实时重新加载

    我想使用 VScode Gulp Electron 的组合来构建一个应用程序 开发工作流程的一个不错的功能是向我的 Gulp 监视任务添加实时重新加载任务 以便在每次更改时重新加载 Electron 应用程序 任何想法如何实现这一目标 非常

随机推荐

  • 带你清晰了解#define和宏

    文章目录 define的简单使用 define的原理 define定义宏 define的替换规则 和 define的简单使用 语法 xff1a define name stuff 对于 define的基本语法理解起来其实并不困难 xff0c
  • 玩转Jetson Nano(三):安装Pytorch GPU版

    玩转Jetson Nano xff08 三 xff09 xff1a 安装Pytorch GPU版 前言安装Pytorch GPU版查看CUDA版本号下载Pytorch对应的wheel文件测试是否安装成功常见问题OSError libmpi
  • 可随身携带的工业无人机?! ZR-M66六旋翼多镜头倾斜摄影无人飞行系统

    更多无人机测绘资讯 xff0c 关注 三维前沿 ZR M66六旋翼多镜头倾斜摄影无人飞行系统 xff0c 集合了领先于行业内的多种设计方式 xff0c 具备模块化设计 高效作业 安全可靠 直观作业管理四大核心优势 xff0c 摆脱传统测绘作
  • PLC寻址应注意的问题

    L MD100 LAR1 与 L MD100 LAR1 有什么区别 xff1f 当将MD100以这种 MD100 形式表示时 xff0c 你既要在对MD100赋值时考虑到所赋的值是否符合存储器间接寻址双字指针的规范 xff0c 又要在使用这
  • STL简介以及STL中的容器

    我认为STL 标准模板库 就是对常见数据结构和算法的再封装 xff0c 以便开发者能更加灵活的使用数据结构和常用算法 通常认为 xff0c STL由容器 算法 迭代器 函数对象 适配器 内存分配器 这 6 部分构成 容器 简单理解容器 xf
  • 奇偶校验原理及C实现

    奇偶校验 xff0c 是通过计算数据流中比特位1的个数向原数据流后补充1bit的 0 或 1 xff0c 来检查数据流是否正确的方法 奇校验 xff08 odd parity xff09 xff1a 如果字符数据位中 1 的数目为偶数 xf
  • PHP curl发送 post GET 请求 携带请求头 并接收参数 上传\下载文件或图片

    发送post 请求 64 param sUrl 请求地址 64 param aData 请求参数 64 return bool string function http post sUrl aData ch 61 curl init cur
  • C++ 类对象的初始化顺序

    C 43 43 构造函数调用顺序 1 创建派生类的对象 xff0c 基类的构造函数优先被调用 xff08 也优先于派生类里的成员类 xff09 xff1b 2 如果类里面有成员类 xff0c 成员类的构造函数优先被调用 xff1b 也优先于
  • requests模块中使用代理proxy发送请求

    1 代理概述 玩爬虫为什么我们不能使用一个固定IP发送请求 你使用一个固定IP发送每秒向对方服务器发送10几个请求 对方认为这样操作不是人干的 就把你IP给封了服务器端的人可以根据你IP很快锁定你 要求你对这种窃取行为赔偿 代理 外链图片转
  • FIFO理解

    小白一枚 以下是我在学习SCI通信时 xff0c 使用到FIFO寄存器对其手册进行学习的一些经验与心得 xff0c 为了防止以后使用时忘记 xff0c 故此记录 仅供本人使用 另 xff1a 如有理解不当之处 xff0c 欢迎指正 xff0
  • 使用CMake导入第三方库

    欢迎关注微信公众号 自动驾驶事务所 获取更多知识 欢迎关注公众号 自动驾驶事务所 xff0c 分享更多以C C 43 43 为计算机语言 xff0c 以自动驾驶为方向的文章 使用CMakeLists txt 中间需要导入第三方的库当我们需要
  • 通过onvif协议接入海康、大华NVR步骤

    通过onvif协议接入海康 大华NVR步骤 https wenku baidu com view 6f1fcf37192e45361066f54b html
  • C语言的二维数组初始化的几种方式介绍(私藏大数组初始化方式)

    C语言的二维数组初始化的几种方式介绍 1 直接赋值2 循环对每个元素赋值3 借用memset memset s初始化为0或 14 96 数组所有元素初始化为相同值 xff08 用于大数组初始化贼方便 xff09 96 1 直接赋值 适合数组
  • 怎么用管理员方式打开压缩包

    今天下载了安卓的源代码 xff0c 解压时 xff0c 报了 34 Cannot create symbolic link xxx 34 34 You may need to run WinRAR as administrator 34 的
  • Android的build-tools的下载方式

    Android的build tools的多种版本的下载 1 方式一 xff1a Android Studio上的配置下载2 官网上直接下载 1 方式一 xff1a Android Studio上的配置下载 通过参数 buildToolsVe
  • Visual Studio上一些Error的解决方案

    近期在迁移一个linux上下项目到windows xff0c 编译时出来一堆error xff0c 挑了一些做记录 目录 1 E1696无法打开源文件 unistd h2 E0020 未定义标识符 34 getcwd 34 3 E0020
  • windows下怎么查看exe是32位还是64位

    xxx exe用记事本或notepad打开 xff0c 找有字符的第二行中 PE 字符串旁边 xff0c 如果是 d xff0c 则为64位 xff1b 如果是 L xff0c 则为32位
  • 无法定位程序输入点 _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev于动态链接库

    在执行编译出来的exe时 xff0c 报了 无法定位程序输入点 ZNSt7 cxx1118basic stringstreamIcSt11char traitsIcESaIcEEC1Ev于动态链接库 的异常 出现这个问题时 xff0c 应该
  • 踩了个C++的未定义标识符"cout"的坑

    问题表现 没怎么用过C 43 43 写过完整的项目 xff0c 今天闲来无事 xff0c 便创建个c 43 43 的工程玩玩 xff0c 结果一个简单的打印输出就给卡住了 xff0c 无法打开文件 iostream h xff0c cout
  • Electron-Vue之安装流程

    近期摒弃了熟悉的WPF xff0c 选用了新的一套工具 xff08 Electron Vue xff09 来开发桌面软件 xff08 我是连html都没用过的猿 xff0c no zuo no die xff09 接触新的东西 xff0c