Electron-vue开发实战(一)plus| Node16.8.0不降级安装Electron-vue+ElementUI开发环境
前言⁍
本文旨在{ %post_link Electron-vue开发实战(一)- 入门与安装(踩坑实录) %}中提及的基本安装方法上尝试改进,在不变换nodeJs环境的基础上,完成对Electron-vue环境和ElementUI/Element-theme的安装和配置
配置vue脚手架和electron框架⁍
这部分与前文一致
1 |
|
另外还可以使用离线安装的方式进行[1],
下载模板源码
https://github.com/SimulatedGREG/electron-vue
下载后解压存放在 用户目录/.vue-templates/ 下(没有就创建,注意复数s),形成如下的结构:
1 |
|
之后就可以使用离线(offline)模式创建:
1 |
|
根据向导创建的过程中有个
1? Use Sass / Scss? (是否使用Sass/Scss编译器)
的问题,原文作者选了No。
我认为选No或许可以省掉一堆事,用css写样式文件就好啦。不过为了Element-theme定制主题,或许还是该选Yes。
package.json修改⁍
根据 Post not found: 【杂记】Node-sass、Node.JS版本管理以及其他,我们不想再安装node-sass,而是改为dart-sass
修改package.json,去掉node-sass包,直接改成
1 |
|
我项目中package.json
的dev-dependence
如下:
1 |
|
输入yarn
命令安装即可
安装Element UI和Element-theme相关⁍
yarn⁍
1 |
|
把element-theme
放到最后写,因为它需要gulp-sass–>node-sass依赖,所以安装途中会报错
事实上--dev
不加也可以,因为报错的原因,根本存不进package.json
来到熟悉的错误,大致就是
1 |
|
之类的一长串(不太记得),涉及到说gulp-sass的依赖项node-sass找不到MSbuild环境之类的
重新yarn安装element-theme⁍
思路上来讲就是把gulp-sass依赖的node-sass换成dart-sass,但执行起来又变得奇怪?
- 进入
node_modules/element-theme
文件夹 - 删除
package.json
中gulp-sass
依赖 yarn
yarn add gulp-sass --dev
我的本意是在装gulp-sass
的过程中再排查问题,或者装到一半修改它的依赖重装;但一点错都没报,直接成功了。。。
解决gracefule-fs
错误⁍
在Post not found: Electron-vue开发实战(三)- Render进程开发中提到如下错误:
网上大部分的解决方案是降级node到11.15.0或以下,但我这样做又带来了其他问题(因为element-theme
中对node
的要求是大于12?)
有一位作者提到了可以升级graceful-fs
,故我做如下尝试:
-
进入
node_modules\element-theme\node_modules\vinyl-fs
-
修改
package.json
中graceful-fs
的版本为4.0.0
-
在当前文件夹下
yarn
解决chalk
错误⁍
执行node_modules/.bin/et -i
还是会报错
很抱歉没有截图,但错误提示很明显,说是这一行出错:
根据[2],需要将chalk降级到4.0.0
- 进入文件夹
node_modules\element-theme\node_modules\run-sequence
- 修改
package.json
中chalk
的版本为4.0.0
(怎么都要4.0.0) yarn
运行et⁍
至此,所有问题应该都解决了,在项目根目录执行
1 |
|
(因为已经生成了,所以是已存在的提示)
项目目录中也终于出现了
本人流下感动的热泪x

希望日后编译生成的命令也能有效(先不尝试了)
其他文件修改⁍
.electron-vue\dev-runner.js⁍
取消这一行注释
引入dev-tools⁍
src\main\index.dev.js
1 |
|
创建window时添加开启remote⁍
看到好多人这么做,我尚未搞清楚原理
src\main\index.js
1 |
|
tasks错误⁍
yarn run build
报错
注释掉 .electron-vue/build.js中相关代码就行了(记得运行时开代理)
build资源下载出错⁍
- 开代理
- 提前下载好卡住的资源,放在
C:\Users\[Username]\AppData\Local\electron-builder\Cache
下面[3]
应该就差不多了
总结⁍
在两台设备上装了两次,绕了一点弯路,不过应该是都成功了。
不能保证方法百分百正确,也不知道如何将子依赖的依赖写入父依赖,使得安装可以一键进行。
总之,也算是加深了理解,获得了一些方法论层面的知识。
仅供参考。