一日心血来潮,屁颠屁颠的去研究electron。
打开百度,搜索 electron。
找到官网,按照官方文档一步一步构建项目
粗略扫一眼,简直不要太简单!
然!!!!
当到安装electron。
npm install --save-dev electron
可能是程序员自身光环吧,研究什么,什么报错!!!
npm安装执行 run "node install.js"
时候报错!
然后各种百度,解决方案,穷出不穷。
尝试yarn
安装, 修改.npmrc
添加 ELECTRON_MIRROR
(我的npm好像坏了一样,并不起作用),使用cnpm
下载......
过程之艰辛,让人听者流泪,见者伤心!
可!!然并卵!
打扰了!我要学习《Electron 从入门到放弃》了!
可是转念一想,门都没摸进去,放个啥门子的弃哟!继续折腾吖!
自己动手,丰衣足食。网上没有解决办法,那就自己琢磨一下。
这厮既然报错操作不了下载的包,那在下姑且就先怀疑是下包地址有问题!(用cnpm
是用国内镜像,下载不了,应该地址是有问题)!找到它的下载地址先!
进到项目目录 node_modules\electron\install.js 找到如下代码
// downloads if not cached
downloadArtifact({
version,
...//省略,太多辣。
}).then((zipPath) => extractFile(zipPath)).catch((err) => onerror(err))
查看它的引用 (VSCode 按住CTRL)
可以看到downloadArtifact
在 @electron/get/dist/cjs/index里
打开 @electron/get/dist/cjs/index.js,找到 function downloadArtifact(_artifactDetails){...}
将url输出出来,牛鬼神蛇,快快现身。
console.log(url)
终端定位到项目目录下的 node_modules\electron
里, 运行 node install.js
在输出里看包地址在哪!
PS H:\codes\testElectron\node_modules\electron> node install.js
https://github.com/electron/electron/releases/download/v7.0.0/electron-v7.0.0-win32-x64.zip
(有没有大神告诉我,这厮为什么不走国内镜像??)
emmm... github 继续修改镜像地址吧。
解决方案:
修改项目目录下的 node_modules\electron\install.js
downloadArtifact({
version,
artifactName: 'electron',
force: process.env.force_no_cache === 'true',
cacheRoot: process.env.electron_config_cache,
platform: process.env.npm_config_platform || process.platform,
arch: process.env.npm_config_arch || process.arch, //结尾别忘了加逗号!
//添加如下代码,
mirrorOptions:{
mirror: 'https://npm.taobao.org/mirrors/electron/',
customDir: version
}
}).then((zipPath) => extractFile(zipPath)).catch((err) => onerror(err))
ps : customDir
在downloadArtifact
拼接下载地址的时候,它会自动在版本号前加上字符v
从而来下载github的镜像
github
https://github.com/electron/electron/releases/download/v7.0.0/electron-v7.0.0-win32-x64.zip
可这样,就会导致淘宝镜像下载出错!
淘宝的镜像中目录中版本目录,是不带v
的
https://npm.taobao.org/mirrors/electron/7.0.0
/electron-v7.0.0
-win32-x64.zip
再次用终端打开 项目目录下的 node_modules\electron
运行 node install.js
PS H:\codes\testElectron\node_modules\electron> node install.js
https://npm.taobao.org/mirrors/electron/7.0.0/electron-v7.0.0-win32-x64.zip
PS H:\codes\testElectron\node_modules\electron>
解决!!!
终端再次项目目录运行项目
PS H:\codes\testElectron> cnpm start
> testelectron@1.0.0 start H:\codes\testElectron
> electron .
希望能对你有点帮助!!!