前情提要: 最近接到公司任务,需要做一个可以跨平台运行的客户端产品,这件事就落到我这个写过一点java又写过一些js的一线码农身上来了.很难嘛?抄起键盘(板砖)就是干.
于是百度找到了两种跨平台客户端的方案.
- python + qyqt5
- python + electron
直到花了花了九牛二虎之力装好pyqt5的环境,在pycharm中安装好QtDesign之后,这界面似曾相识,怎么跟Java Swing的啥啥designer很像,虽然可视化,但参数很多,要作出好看的界面,熟悉那些布局效果的参数都得好久,果断弃之.
于是视线来到Electron这边来,其他介绍直接掠过,直接开始打造你的第一个Electron应用
下载示例代码,一切驾轻就熟
git clone https://github.com/electron/electron-quick-start
cd electron-quick-start
npm install
咦,下载怎么这么慢,等了大半天才37%,还要几千秒,npm的镜像没配么
npm config get registry
发现镜像已经配置了,公司无线网络也切成有线了,该爬的墙也怕了,然而还是慢,然后又去网上找了个大神的帖子,原来还要配置Electron的镜像,行,妥妥的把该配的安排上.
方法一:
npm config set electron_mirror https://npm.taobao.org/mirrors/electron/
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
npm config set metrics-registry https://registry.npm.taobao.org/
npm config set registry https://registry.npm.taobao.org/
方法二:
npm config list
看看userconfig的配置在哪个目录下,我是在用户目录的~/.npmrc,然后vi添加如下配置:
vim ~/.npmrc
将配置复制进去,保存退出
registry=https://registry.npm.taobao.org
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
electron_mirror=https://npm.taobao.org/mirrors/electron/
metrics-registry=https://registry.npm.taobao.org/
配置完毕,再走一波.
npm install
这次很快就告诉你报错了,还是404,刚才慢,这会直接404了,我太难了
把那个地址复制到浏览器,发现Not Found
把路径的路由往上一层找,还是没找到,文件夹下空空如也,
再往上一层,终于看到了一堆历史版本,
找到最新的release版本,8.1.1,
咦,版本没问题啊,有这个版本啊,见鬼了么,找到这个要下载的版本
把两个地址摆到一起去,发现了不对,两个不一样长,多了v,什么情况
https://npm.taobao.org/mirrors/electron/8.1.1/electron-v8.1.1-darwin-x64.zip
https://npm.taobao.org/mirrors/electron/v8.1.1/electron-v8.1.1-darwin-x64.zip
去package.json里面看看配置,难道配置里面加了v?
没有加v啊,那install的时候v哪里来的,遂去node_modules里看看能不能找到些蛛丝马迹,果不其然,发现了utils下的一个小方法,
看来他们是有在处理这个v,又去啃了下官方的起步文档,what,看到那个小v了?那如果指定electron_custom_dir,他直接读取拼接就不会出现v了
配置electron_custom_dir
npm config set electron_custom_dir=8.1.1
删除node_modules,清除之前安装的遗留文件
rm -rf node_modules
npm install
安装完成后,
npm start
久违的HelloWorld终于跑起来了(跑个demo都这么累)
总结时间到,直接把这些配置都配上,完事:
npm config set electron_mirror https://npm.taobao.org/mirrors/electron/
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
npm config set metrics-registry https://registry.npm.taobao.org/
npm config set registry https://registry.npm.taobao.org/
#其实之前就差了这个
npm config set electron_custom_dir 8.1.1
小伙伴们可以愉快的开始爬坑了,