1.安装node.js
2.安装electron 通过npm安装
3.使用淘宝 NPM 镜像
大家都知道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像。
淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。
你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
这样就可以使用 cnpm 命令来安装模块了:
$ cnpm install [name]
4.发布
a. 使用 electron-builder
https://github.com/electron-userland/electron-builder
安装 cnpm install electron-builder
b. 使用electron-packager
windows平台命令行执行
electron-packager . --platform win32 --overwrite --icon test.ico
Note: 如果用electron-packager 或者 electron-builder打包,运行完发现有些module没有包含就来,是因为在安装这些module的时候,直接使用的
npm install xxx 这样的话 package.json里面对应的是 "devDependencies" ;需要用npm install XXX --save 才可以对应到 "dependencies" ,这样生成的发布版本才能包含对应的module.
全局安装与本地安装
npm 的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如
npm install express # 本地安装npm install express -g # 全局安装
如果出现以下错误:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
解决办法为:
$ npm config set proxy
其他:
javascript 中使用变量访问jason内容,用[]括起来。如 alert(json.lastMonth[dep]);
javascript 中使用变量访问jason检测内容是否存在,用
1.obj["key"] != undefined 这种有缺陷,如果这个key定义了,并且就是很2的赋值为undefined,那么这句就会出问题了。
2.!("key" in obj)
3.obj.hasOwnProperty("key")
解析.apk文件
1.使用 adbkit-apkreader
var aApkReader = require('adbkit-apkreader')
var reader = apkReader.readFile(file.path)
var manifest = reader.readManifestSync()
console.log(manifest)
document.getElementById("packagename").value=manifest.package;
document.getElementById("versionname").value=manifest.versionName;
document.getElementById("bundlenum").value=manifest.versionCode;
但是无法直接获取res中的游戏名称,所以引入apktool ,从decompile后的文件里用 fs.readFile 读取 xml,然后用xml2js 转为jason读取字段。
解析ipa文件
1.使用 ipa-metadata