ios phoneGap的安装及使用

来源:互联网 发布:淘宝网银怎么开通 编辑:程序博客网 时间:2024/05/29 12:31

首先Phonegap是一个利用HTML5去开发App的框架。可以支持移动、PC等移动操作系统,是一个跨平台的应用,比较节省成本,缩短开发时间。性能不如专门的原生的好,做一些简单应用可以使用;

PhoneGap官网:http://phonegap.com

在Mac下安装Phonegap环境需要一些第三方软件。如Git,XCode,Node.js等等。
1.安装Git,可以参考教程如下:

 http://www.git-scm.com/

2.安装Node.js参考如下:

http://nodejs.org/ (如果你安装了旧版本的需要手动安装npm,不过最新版的自带了)

3.进入终端命令行使用npm安装cordova如下,这个过程可能需要等待一下:

$ sudo npm install -g cordova

安装完成之后如下,由于内容太多,做了部分删减:

ChenfydeMBP:~ Chenfy$ npm -v3.8.9ChenfydeMBP:~ Chenfy$ sudo npm install -g cordovaPassword:fetchMetadata → network   ▀ ╢███████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟npm WARN deprecated node-uuid@1.4.7: use uuid module instead/usr/local/bin/cordova -> /usr/local/lib/node_modules/cordova/bin/cordova/usr/local/lib└─┬ cordova@6.4.0   ├─┬ cordova-common@1.5.1   │ ├── ansi@0.3.1   │ ├─┬ bplist-parser@0.1.1   │ │ └── big-integer@1.6.17   │ ├── cordova-registry-mapper@1.1.15   │ ├─┬ elementtree@0.1.6   │ │ └── sax@0.3.5     ├─┬ repeating@1.1.3     │ └─┬ is-finite@1.0.2     │   └── number-is-nan@1.0.1     ├── semver-diff@2.1.0     └── string-length@1.0.1 ChenfydeMBP:~ Chenfy$ 

4、进入你要创建的项目目录,然后创建phonegap项目。

 $ cordova create hello com.example.hello hello //输入完这个命令后cordova程序会帮你创建hello文件夹,里面就是这个phonegap环境了。 //第一个hello 项目的目录名称 //第二个hello 项目名称

5、创建xcode项目文件,这是在Mac平台开发,每个开发者都应该有自己的Xcode。

$ cd hello$ cordova platform add ios//之后你用finder进入子目录就会看到platforms中得ios文件夹,接着你就运行里面项目编译即可。//这个过程有时也会有些慢,可能需要等待一下;

执行完这些效果如下:

ChenfydeMBP:hello Chenfy$ cordova platform add iosAdding ios project...Creating Cordova project for the iOS platform:    Path: platforms/ios    Package: com.example.hello    Name: HelloWorldiOS project created with cordova-ios@4.3.1Discovered plugin "cordova-plugin-whitelist" in config.xml. Adding it to the projectFetching plugin "cordova-plugin-whitelist@1" via npmInstalling "cordova-plugin-whitelist" for ios

hello工程结构图:
这里写图片描述

iOS工程结构图:
这里写图片描述

6、环境有了,接下来先说下如何与系统自身打交道;目前提供的一些功能还是比较有限的,比如摄像头、系统信息、文件操作等等,或者第三方的插件还未知如何集成(后续完成)。
如果要开始开发,需要自己加入一些插件;如果使用PhoneGap客户端的话,创建一个工程,他会帮你引入所有相关的plugin(插件);
这里写图片描述

PhoneGap引入的插件:
这里写图片描述

  • 之前添加插件的方式如下(现在方式已经更改-新的添加方式往下看):
添加插件命令 cordova plugin add *    设备信息插件:    cordova plugin add org.apache.cordova.device    网络连接插件:    cordova plugin add org.apache.cordova.network-information    cordova plugin add org.apache.cordova.battery-status    陀螺仪:    cordova plugin add org.apache.cordova.device-motion    cordova plugin add org.apache.cordova.device-orientation    cordova plugin add org.apache.cordova.geolocation    摄像头拍照录制等:    cordova plugin add org.apache.cordova.camera    cordova plugin add org.apache.cordova.media-capture    cordova plugin add org.apache.cordova.media    访问文件:    cordova plugin add org.apache.cordova.file    cordova plugin add org.apache.cordova.file-transfer    提醒:    cordova plugin add org.apache.cordova.dialogs    cordova plugin add org.apache.cordova.vibration    联系人:    cordova plugin add org.apache.cordova.contacts    全球化:    cordova plugin add org.apache.cordova.globalization    闪屏(启动画面):    cordova plugin add org.apache.cordova.splashscreen    打开新的浏览器 (InAppBrowser):    cordova plugin add org.apache.cordova.inappbrowser    调试主控制台:    cordova plugin add org.apache.cordova.console
  • 现在添加的方式如下:
//Old method cordova plugin add org.chromium.zip//New methodcordova plugin add cordova-plugin-zip
  • 除了上述的方式外,还可以从远程加载:
##- Try this:cordova plugin add https://github.com/MobileChromeApps/cordova-plugin-zip.git##- Or this:cordova plugin add https://github.com/MobileChromeApps/cordova-plugin-zip

这里写图片描述

cordova的安装效果:

ChenfydeMBP:~ Chenfy$ sudo npm install -g cordovaPassword:fetchMetadata → network   ▀ ╢███████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟npm WARN deprecated node-uuid@1.4.7: use uuid module instead/usr/local/bin/cordova -> /usr/local/lib/node_modules/cordova/bin/cordova/usr/local/lib└─┬ cordova@6.4.0   ├─┬ cordova-common@1.5.1   │ ├── ansi@0.3.1   │ ├─┬ bplist-parser@0.1.1   │ │ └── big-integer@1.6.17   │ ├── cordova-registry-mapper@1.1.15   │ ├─┬ elementtree@0.1.6   │ │ └── sax@0.3.5   │ ├─┬ glob@5.0.15   │ │ ├─┬ inflight@1.0.6   │ │ │ └── wrappy@1.0.2   │ │ ├── inherits@2.0.3   │ │ ├── once@1.4.0   │ │ └── path-is-absolute@1.0.1   │ ├─┬ minimatch@3.0.3   │ │ └─┬ brace-expansion@1.1.6   │ │   ├── balanced-match@0.4.2 -map@0.0.1   │ ├─┬ osenv@0.1.4   │ │ ├── os-homedir@1.0.2   │ │ └── os-tmpdir@1.0.2   │ ├─┬ plist@1.2.0   │ │ ├── base64-js@0.0.8   │ │ ├── util-deprecate@1.0.2   │ │ ├── xmlbuilder@4.0.0   │ │ └── xmldom@0.1.27   │ ├── q@1.4.1   │ ├── semver@5.3.0   │ ├── shelljs@0.5.3   │ ├── underscore@1.8.3   │ └── unorm@1.4.1   ├─┬ cordova-lib@6.4.0   │ ├─┬ aliasify@1.9.0   │ │ └─┬ browserify-transform-tools@1.5.3   │ │   └─┬ falafel@1.2.0   │ │     ├── acorn@1.2.2   │ │     ├── foreach@2.0.5   │ │     ├── isarray@0.0.1   │ │     └── object-keys@1.0.11   │ ├─┬ cordova-create@1.0.1   │ │ ├── cordova-app-hello-world@3.11.0   │ │ └── shelljs@0.3.0   │ ├─┬ cordova-fetch@1.0.1   │ │ ├─┬ dependency-ls@1.0.0   │ │ │ └── q@1.4.1   │ │ ├── is-url@1.2.2   │ │ ├── q@1.4.1   │ │ └─┬ shelljs@0.7.5   │ │   ├─┬ glob@7.1.1   │ │   │ └── fs.realpath@1.0.0   │ │   ├── interpret@1.0.1   │ │   └── rechoir@0.6.2   │ ├─┬ cordova-js@4.2.0   │ │ └─┬ browserify@13.1.0   │ │   ├── assert@1.3.0   │ │   ├─┬ browser-pack@6.0.2   │ │   │ ├─┬ combine-source-map@0.7.2   │ │   │ │ ├── convert-source-map@1.1.3   │ │   │ │ ├── inline-source-map@0.6.2   │ │   │ │ ├── lodash.memoize@3.0.4   │ │   │ │ └── source-map@0.5.6   │ │   │ └── umd@3.0.1   │ │   ├─┬ browser-resolve@1.11.2   │ │   │ └── resolve@1.1.7   │ │   ├─┬ browserify-zlib@0.1.4   │ │   │ └── pako@0.2.9   │ │   ├─┬ buffer@4.9.1   │ │   │ ├── base64-js@1.2.0   │ │   │ ├── ieee754@1.1.8   │ │   │ └── isarray@1.0.0   │ │   ├─┬ concat-stream@1.5.2   │ │   │ ├─┬ readable-stream@2.0.6   │ │   │ │ └── isarray@1.0.0   │ │   │ └── typedarray@0.0.6   │ │   ├─┬ console-browserify@1.1.0   │ │   │ └── date-now@0.1.4   │ │   ├── constants-browserify@1.0.0   │ │   ├─┬ crypto-browserify@3.11.0   │ │   │ ├─┬ browserify-cipher@1.0.0   │ │   │ │ ├─┬ browserify-aes@1.0.6   │ │   │ │ │ └── buffer-xor@1.0.3   │ │   │ │ ├─┬ browserify-des@1.0.0   │ │   │ │ │ └─┬ des.js@1.0.0   │ │   │ │ │   └── minimalistic-assert@1.0.0   │ │   │ │ └── evp_bytestokey@1.0.0   │ │   │ ├─┬ browserify-sign@4.0.0   │ │   │ │ ├── bn.js@4.11.6   │ │   │ │ ├── browserify-rsa@4.0.1   │ │   │ │ ├─┬ elliptic@6.3.2   │ │   │ │ │ ├── brorand@1.0.6   │ │   │ │ │ └── hash.js@1.0.3   │ │   │ │ └─┬ parse-asn1@5.0.0   │ │   │ │   └── asn1.js@4.9.0   │ │   │ ├── create-ecdh@4.0.0   │ │   │ ├─┬ create-hash@1.1.2   │ │   │ │ ├── cipher-base@1.0.3   │ │   │ │ └── ripemd160@1.0.1   │ │   │ ├── create-hmac@1.1.4   │ │   │ ├─┬ diffie-hellman@5.0.2   │ │   │ │ └── miller-rabin@4.0.0   │ │   │ ├── pbkdf2@3.0.9   │ │   │ ├── public-encrypt@4.0.0   │ │   │ └── randombytes@2.0.3   │ │   ├── defined@1.0.0   │ │   ├── deps-sort@2.0.0   │ │   ├── domain-browser@1.1.7   │ │   ├── duplexer2@0.1.4   │ │   ├── events@1.1.1   │ │   ├─┬ has@1.0.1   │ │   │ └── function-bind@1.1.0   │ │   ├── htmlescape@1.1.1   │ │   ├── https-browserify@0.0.1   │ │   ├─┬ insert-module-globals@7.0.1   │ │   │ ├── is-buffer@1.1.4   │ │   │ └─┬ lexical-scope@1.2.0   │ │   │   └── astw@2.0.0   │ │   ├─┬ JSONStream@1.3.0   │ │   │ └── jsonparse@1.2.0   │ │   ├─┬ labeled-stream-splicer@2.0.0   │ │   │ └── stream-splicer@2.0.0   │ │   ├─┬ module-deps@4.0.8   │ │   │ ├── cached-path-relative@1.0.0   │ │   │ ├─┬ detective@4.3.2   │ │   │ │ └── acorn@3.3.0   │ │   │ └── stream-combiner2@1.1.1   │ │   ├── os-browserify@0.1.2   │ │   ├─┬ parents@1.0.1   │ │   │ └── path-platform@0.11.15   │ │   ├── path-browserify@0.0.0   │ │   ├── process@0.11.9   │ │   ├── querystring-es3@0.2.1   │ │   ├── read-only-stream@2.0.0   │ │   ├─┬ readable-stream@2.2.2   │ │   │ ├── buffer-shims@1.0.0   │ │   │ ├── core-util-is@1.0.2   │ │   │ ├── isarray@1.0.0   │ │   │ └── process-nextick-args@1.0.7   │ │   ├── resolve@1.2.0   │ │   ├─┬ shasum@1.0.2   │ │   │ ├── json-stable-stringify@0.0.1   │ │   │ └── sha.js@2.4.8   │ │   ├─┬ shell-quote@1.6.1   │ │   │ ├── array-filter@0.0.1   │ │   │ ├── array-map@0.0.0   │ │   │ ├── array-reduce@0.0.0   │ │   │ └── jsonify@0.0.0   │ │   ├── stream-browserify@2.0.1   │ │   ├─┬ stream-http@2.5.0   │ │   │ ├── builtin-status-codes@2.0.0   │ │   │ └── to-arraybuffer@1.0.1   │ │   ├── string_decoder@0.10.31   │ │   ├── subarg@1.0.0   │ │   ├─┬ syntax-error@1.1.6   │ │   │ └── acorn@2.7.0   │ │   ├── through2@2.0.3   │ │   ├── timers-browserify@1.4.2   │ │   ├── tty-browserify@0.0.0   │ │   ├─┬ url@0.11.0   │ │   │ ├── punycode@1.3.2   │ │   │ └── querystring@0.2.0   │ │   ├─┬ util@0.10.3   │ │   │ └── inherits@2.0.1   │ │   ├─┬ vm-browserify@0.0.4   │ │   │ └── indexof@0.0.1   │ │   └── xtend@4.0.1   │ ├─┬ cordova-serve@1.0.0   │ │ ├─┬ compression@1.6.2   │ │ │ ├─┬ accepts@1.3.3   │ │ │ │ └── negotiator@0.6.1   │ │ │ ├── bytes@2.3.0   │ │ │ ├── compressible@2.0.9   │ │ │ ├─┬ debug@2.2.0   │ │ │ │ └── ms@0.7.1   │ │ │ ├── on-headers@1.0.1   │ │ │ └── vary@1.1.0   │ │ ├─┬ express@4.14.0   │ │ │ ├── array-flatten@1.1.1   │ │ │ ├── content-disposition@0.5.1   │ │ │ ├── content-type@1.0.2   │ │ │ ├── cookie@0.3.1   │ │ │ ├── cookie-signature@1.0.6   │ │ │ ├── depd@1.1.0   │ │ │ ├── encodeurl@1.0.1   │ │ │ ├── escape-html@1.0.3   │ │ │ ├── etag@1.7.0   │ │ │ ├─┬ finalhandler@0.5.0   │ │ │ │ ├── statuses@1.3.1   │ │ │ │ └── unpipe@1.0.0   │ │ │ ├── fresh@0.3.0   │ │ │ ├── merge-descriptors@1.0.1   │ │ │ ├── methods@1.1.2   │ │ │ ├─┬ on-finished@2.3.0   │ │ │ │ └── ee-first@1.1.1   │ │ │ ├── parseurl@1.3.1   │ │ │ ├── path-to-regexp@0.1.7   │ │ │ ├─┬ proxy-addr@1.1.2   │ │ │ │ ├── forwarded@0.1.0   │ │ │ │ └── ipaddr.js@1.1.1   │ │ │ ├── qs@6.2.0   │ │ │ ├── range-parser@1.2.0   │ │ │ ├─┬ send@0.14.1   │ │ │ │ ├── destroy@1.0.4   │ │ │ │ ├─┬ http-errors@1.5.1   │ │ │ │ │ └── setprototypeof@1.0.2   │ │ │ │ └── mime@1.3.4   │ │ │ ├── serve-static@1.11.1   │ │ │ ├─┬ type-is@1.6.14   │ │ │ │ └── media-typer@0.3.0   │ │ │ └── utils-merge@1.0.0   │ │ └── q@1.4.1   │ ├─┬ dep-graph@1.1.0   │ │ └── underscore@1.2.1   │ ├─┬ init-package-json@1.9.4   │ │ ├── glob@6.0.4   │ │ ├─┬ npm-package-arg@4.2.0   │ │ │ └── hosted-git-info@2.1.5   │ │ ├── promzard@0.3.0   │ │ ├─┬ read@1.0.7   │ │ │ └── mute-stream@0.0.6   │ │ ├─┬ read-package-json@2.0.4   │ │ │ ├── glob@6.0.4   │ │ │ ├─┬ json-parse-helpfulerror@1.0.3   │ │ │ │ └── jju@1.3.0   │ │ │ └─┬ normalize-package-data@2.3.5   │ │ │   └─┬ is-builtin-module@1.0.0   │ │ │     └── builtin-modules@1.1.1   │ │ ├─┬ validate-npm-package-license@3.0.1   │ │ │ ├─┬ spdx-correct@1.0.2   │ │ │ │ └── spdx-license-ids@1.2.2   │ │ │ └── spdx-expression-parse@1.0.4   │ │ └─┬ validate-npm-package-name@2.2.2   │ │   └── builtins@0.0.7   │ ├── nopt@3.0.6   │ ├─┬ npm@2.15.11   │ │ ├── abbrev@1.0.9   │ │ ├── ansi@0.3.1   │ │ ├── ansi-regex@2.0.0   │ │ ├── ansicolors@0.3.2   │ │ ├── ansistyles@0.1.3   │ │ ├── archy@1.0.0   │ │ ├── async-some@1.0.2   │ │ ├── block-stream@0.0.9   │ │ ├── char-spinner@1.0.1   │ │ ├── chmodr@1.0.2   │ │ ├── chownr@1.0.1   │ │ ├── cmd-shim@2.0.2   │ │ ├─┬ columnify@1.5.4   │ │ │ └─┬ wcwidth@1.0.0   │ │ │   └─┬ defaults@1.0.3   │ │ │     └── clone@1.0.2   │ │ ├─┬ config-chain@1.1.10   │ │ │ └── proto-list@1.2.4   │ │ ├─┬ dezalgo@1.0.3   │ │ │ └── asap@2.0.3   │ │ ├── editor@1.0.0   │ │ ├── fs-vacuum@1.2.9   │ │ ├─┬ fs-write-stream-atomic@1.0.8   │ │ │ └── iferr@0.1.5   │ │ ├── fstream@1.0.10   │ │ ├─┬ fstream-npm@1.1.1   │ │ │ └── fstream-ignore@1.0.5   │ │ ├── github-url-from-git@1.4.0   │ │ ├── github-url-from-username-repo@1.0.2   │ │ ├─┬ glob@7.0.6   │ │ │ ├── fs.realpath@1.0.0   │ │ │ └── path-is-absolute@1.0.0   │ │ ├── graceful-fs@4.1.6   │ │ ├── hosted-git-info@2.1.5   │ │ ├── imurmurhash@0.1.4   │ │ ├── inflight@1.0.5   │ │ ├── inherits@2.0.3   │ │ ├── ini@1.3.4   │ │ ├─┬ init-package-json@1.9.4   │ │ │ ├─┬ glob@6.0.4   │ │ │ │ └── path-is-absolute@1.0.0   │ │ │ └── promzard@0.3.0   │ │ ├── lockfile@1.0.1   │ │ ├─┬ lru-cache@4.0.1   │ │ │ ├── pseudomap@1.0.2   │ │ │ └── yallist@2.0.0   │ │ ├─┬ minimatch@3.0.3   │ │ │ └─┬ brace-expansion@1.1.6   │ │ │   ├── balanced-match@0.4.2   │ │ │   └── concat-map@0.0.1   │ │ ├─┬ mkdirp@0.5.1   │ │ │ └── minimist@0.0.8   │ │ ├─┬ node-gyp@3.4.0   │ │ │ └─┬ path-array@1.0.1   │ │ │   └─┬ array-index@1.0.0   │ │ │     ├─┬ debug@2.2.0   │ │ │     │ └── ms@0.7.1   │ │ │     └─┬ es6-symbol@3.1.0   │ │ │       ├── d@0.1.1   │ │ │       └─┬ es5-ext@0.10.12   │ │ │         └── es6-iterator@2.0.0   │ │ ├── nopt@3.0.6   │ │ ├── normalize-git-url@3.0.2   │ │ ├─┬ normalize-package-data@2.3.5   │ │ │ └─┬ is-builtin-module@1.0.0   │ │ │   └── builtin-modules@1.1.0   │ │ ├── npm-cache-filename@1.0.2   │ │ ├── npm-install-checks@1.0.7   │ │ ├── npm-package-arg@4.1.0   │ │ ├─┬ npm-registry-client@7.2.1   │ │ │ ├─┬ concat-stream@1.5.2   │ │ │ │ ├─┬ readable-stream@2.0.6   │ │ │ │ │ ├── core-util-is@1.0.2   │ │ │ │ │ ├── isarray@1.0.0   │ │ │ │ │ ├── process-nextick-args@1.0.7   │ │ │ │ │ ├── string_decoder@0.10.31   │ │ │ │ │ └── util-deprecate@1.0.2   │ │ │ │ └── typedarray@0.0.6   │ │ │ └── retry@0.10.0   │ │ ├── npm-user-validate@0.1.5   │ │ ├─┬ npmlog@2.0.4   │ │ │ ├─┬ are-we-there-yet@1.1.2   │ │ │ │ └── delegates@1.0.0   │ │ │ └─┬ gauge@1.2.7   │ │ │   ├── has-unicode@2.0.0   │ │ │   ├─┬ lodash.pad@4.4.0   │ │ │   │ ├── lodash._baseslice@4.0.0   │ │ │   │ ├── lodash._basetostring@4.12.0   │ │ │   │ └── lodash.tostring@4.1.4   │ │ │   ├── lodash.padend@4.5.0   │ │ │   └── lodash.padstart@4.5.0   │ │ ├── once@1.4.0   │ │ ├── opener@1.4.1   │ │ ├─┬ osenv@0.1.3   │ │ │ ├── os-homedir@1.0.0   │ │ │ └── os-tmpdir@1.0.1   │ │ ├── path-is-inside@1.0.1   │ │ ├─┬ read@1.0.7   │ │ │ └── mute-stream@0.0.5   │ │ ├─┬ read-installed@4.0.3   │ │ │ ├── debuglog@1.0.1   │ │ │ ├── readdir-scoped-modules@1.0.2   │ │ │ └── util-extend@1.0.1   │ │ ├─┬ read-package-json@2.0.4   │ │ │ ├─┬ glob@6.0.4   │ │ │ │ └── path-is-absolute@1.0.0   │ │ │ └─┬ json-parse-helpfulerror@1.0.3   │ │ │   └── jju@1.3.0   │ │ ├─┬ readable-stream@2.1.5   │ │ │ ├── buffer-shims@1.0.0   │ │ │ ├── core-util-is@1.0.2   │ │ │ ├── isarray@1.0.0   │ │ │ ├── process-nextick-args@1.0.7   │ │ │ ├── string_decoder@0.10.31   │ │ │ └── util-deprecate@1.0.2   │ │ ├── realize-package-specifier@3.0.1   │ │ ├─┬ request@2.74.0   │ │ │ ├── aws-sign2@0.6.0   │ │ │ ├── aws4@1.4.1   │ │ │ ├─┬ bl@1.1.2   │ │ │ │ └─┬ readable-stream@2.0.6   │ │ │ │   ├── core-util-is@1.0.2   │ │ │ │   ├── isarray@1.0.0   │ │ │ │   ├── process-nextick-args@1.0.7   │ │ │ │   ├── string_decoder@0.10.31   │ │ │ │   └── util-deprecate@1.0.2   │ │ │ ├── caseless@0.11.0   │ │ │ ├─┬ combined-stream@1.0.5   │ │ │ │ └── delayed-stream@1.0.0   │ │ │ ├── extend@3.0.0   │ │ │ ├── forever-agent@0.6.1   │ │ │ ├─┬ form-data@1.0.0-rc4   │ │ │ │ └── async@1.5.2   │ │ │ ├─┬ har-validator@2.0.6   │ │ │ │ ├─┬ chalk@1.1.3   │ │ │ │ │ ├── ansi-styles@2.2.1   │ │ │ │ │ ├── escape-string-regexp@1.0.5   │ │ │ │ │ ├── has-ansi@2.0.0   │ │ │ │ │ └── supports-color@2.0.0   │ │ │ │ ├─┬ commander@2.9.0   │ │ │ │ │ └── graceful-readlink@1.0.1   │ │ │ │ ├─┬ is-my-json-valid@2.13.1   │ │ │ │ │ ├── generate-function@2.0.0   │ │ │ │ │ ├─┬ generate-object-property@1.2.0   │ │ │ │ │ │ └── is-property@1.0.2   │ │ │ │ │ ├── jsonpointer@2.0.0   │ │ │ │ │ └── xtend@4.0.1   │ │ │ │ └─┬ pinkie-promise@2.0.1   │ │ │ │   └── pinkie@2.0.4   │ │ │ ├─┬ hawk@3.1.3   │ │ │ │ ├── boom@2.10.1   │ │ │ │ ├── cryptiles@2.0.5   │ │ │ │ ├── hoek@2.16.3   │ │ │ │ └── sntp@1.0.9   │ │ │ ├─┬ http-signature@1.1.1   │ │ │ │ ├── assert-plus@0.2.0   │ │ │ │ ├─┬ jsprim@1.3.0   │ │ │ │ │ ├── extsprintf@1.0.2   │ │ │ │ │ ├── json-schema@0.2.2   │ │ │ │ │ └── verror@1.3.6   │ │ │ │ └─┬ sshpk@1.9.2   │ │ │ │   ├── asn1@0.2.3   │ │ │ │   ├── assert-plus@1.0.0   │ │ │ │   ├── dashdash@1.14.0   │ │ │ │   ├── ecc-jsbn@0.1.1   │ │ │ │   ├── getpass@0.1.6   │ │ │ │   ├── jodid25519@1.0.2   │ │ │ │   ├── jsbn@0.1.0   │ │ │ │   └── tweetnacl@0.13.3   │ │ │ ├── is-typedarray@1.0.0   │ │ │ ├── isstream@0.1.2   │ │ │ ├── json-stringify-safe@5.0.1   │ │ │ ├─┬ mime-types@2.1.11   │ │ │ │ └── mime-db@1.23.0   │ │ │ ├── node-uuid@1.4.7   │ │ │ ├── oauth-sign@0.8.2   │ │ │ ├── qs@6.2.1   │ │ │ ├── stringstream@0.0.5   │ │ │ ├── tough-cookie@2.3.1   │ │ │ └── tunnel-agent@0.4.3   │ │ ├── retry@0.10.0   │ │ ├── rimraf@2.5.4   │ │ ├── semver@5.1.0   │ │ ├─┬ sha@2.0.1   │ │ │ └─┬ readable-stream@2.0.2   │ │ │   ├── core-util-is@1.0.1   │ │ │   ├── isarray@0.0.1   │ │ │   ├── process-nextick-args@1.0.3   │ │ │   ├── string_decoder@0.10.31   │ │ │   └── util-deprecate@1.0.1   │ │ ├── slide@1.1.6   │ │ ├── sorted-object@2.0.0   │ │ ├── spdx-license-ids@1.2.2   │ │ ├── strip-ansi@3.0.1   │ │ ├── tar@2.2.1   │ │ ├── text-table@0.2.0   │ │ ├── uid-number@0.0.6   │ │ ├── umask@1.1.0   │ │ ├─┬ validate-npm-package-license@3.0.1   │ │ │ ├── spdx-correct@1.0.2   │ │ │ └─┬ spdx-expression-parse@1.0.2   │ │ │   └── spdx-exceptions@1.0.4   │ │ ├─┬ validate-npm-package-name@2.2.2   │ │ │ └── builtins@0.0.7   │ │ ├─┬ which@1.2.11   │ │ │ └── isexe@1.1.2   │ │ ├── wrappy@1.0.2   │ │ └── write-file-atomic@1.1.4   │ ├── opener@1.4.1   │ ├── properties-parser@0.2.3   │ ├─┬ request@2.47.0   │ │ ├── aws-sign2@0.5.0   │ │ ├─┬ bl@0.9.5   │ │ │ └── readable-stream@1.0.34   │ │ ├── caseless@0.6.0   │ │ ├─┬ combined-stream@0.0.7   │ │ │ └── delayed-stream@0.0.5   │ │ ├── forever-agent@0.5.2   │ │ ├─┬ form-data@0.1.4   │ │ │ ├── async@0.9.2   │ │ │ └── mime@1.2.11   │ │ ├─┬ hawk@1.1.1   │ │ │ ├── boom@0.4.2   │ │ │ ├── cryptiles@0.2.2   │ │ │ ├── hoek@0.9.1   │ │ │ └── sntp@0.2.4   │ │ ├─┬ http-signature@0.10.1   │ │ │ ├── asn1@0.1.11   │ │ │ ├── assert-plus@0.1.5   │ │ │ └── ctype@0.5.3   │ │ ├── json-stringify-safe@5.0.1   │ │ ├── mime-types@1.0.2   │ │ ├── node-uuid@1.4.7   │ │ ├── oauth-sign@0.4.0   │ │ ├── qs@2.3.3   │ │ ├── stringstream@0.0.5   │ │ └── tunnel-agent@0.4.3   │ ├── semver@4.3.6   │ ├── shelljs@0.3.0   │ ├─┬ tar@1.0.2   │ │ ├── block-stream@0.0.9   │ │ └─┬ fstream@1.0.10   │ │   └─┬ rimraf@2.5.4   │ │     └── glob@7.1.1   │ ├── unorm@1.3.3   │ ├── valid-identifier@0.0.1   │ └─┬ xcode@0.8.9   │   ├── pegjs@0.9.0   │   └─┬ simple-plist@0.1.4   │     ├─┬ bplist-creator@0.0.4   │     │ └── stream-buffers@0.2.6   │     └── bplist-parser@0.0.6   ├─┬ insight@0.8.4   │ ├── async@1.5.2   │ ├─┬ chalk@1.1.3   │ │ ├── ansi-styles@2.2.1   │ │ ├── escape-string-regexp@1.0.5   │ │ ├── has-ansi@2.0.0   │ │ ├── strip-ansi@3.0.1   │ │ └── supports-color@2.0.0   │ ├─┬ configstore@1.4.0   │ │ ├── graceful-fs@4.1.11   │ │ ├─┬ mkdirp@0.5.1   │ │ │ └── minimist@0.0.8   │ │ ├── uuid@2.0.3   │ │ ├─┬ write-file-atomic@1.2.0   │ │ │ ├── imurmurhash@0.1.4   │ │ │ └── slide@1.1.6   │ │ └── xdg-basedir@2.0.0   │ ├─┬ inquirer@0.10.1   │ │ ├── ansi-escapes@1.4.0   │ │ ├── ansi-regex@2.0.0   │ │ ├─┬ cli-cursor@1.0.2   │ │ │ └─┬ restore-cursor@1.0.1   │ │ │   ├── exit-hook@1.1.1   │ │ │   └── onetime@1.1.0   │ │ ├── cli-width@1.1.1   │ │ ├── figures@1.7.0   │ │ ├── lodash@3.10.1   │ │ ├─┬ readline2@1.0.1   │ │ │ ├── code-point-at@1.1.0   │ │ │ ├── is-fullwidth-code-point@1.0.0   │ │ │ └── mute-stream@0.0.5   │ │ ├── run-async@0.1.0   │ │ ├── rx-lite@3.1.2   │ │ └── through@2.3.8   │ ├─┬ lodash.debounce@3.1.1   │ │ └── lodash._getnative@3.9.1   │ ├── object-assign@4.1.0   │ ├─┬ os-name@1.0.3   │ │ ├─┬ osx-release@1.1.0   │ │ │ └── minimist@1.2.0   │ │ └── win-release@1.1.1   │ ├─┬ request@2.79.0   │ │ ├── aws-sign2@0.6.0   │ │ ├── aws4@1.5.0   │ │ ├── caseless@0.11.0   │ │ ├─┬ combined-stream@1.0.5   │ │ │ └── delayed-stream@1.0.0   │ │ ├── extend@3.0.0   │ │ ├── forever-agent@0.6.1   │ │ ├─┬ form-data@2.1.2   │ │ │ └── asynckit@0.4.0   │ │ ├─┬ har-validator@2.0.6   │ │ │ ├─┬ commander@2.9.0   │ │ │ │ └── graceful-readlink@1.0.1   │ │ │ ├─┬ is-my-json-valid@2.15.0   │ │ │ │ ├── generate-function@2.0.0   │ │ │ │ ├─┬ generate-object-property@1.2.0   │ │ │ │ │ └── is-property@1.0.2   │ │ │ │ └── jsonpointer@4.0.0   │ │ │ └─┬ pinkie-promise@2.0.1   │ │ │   └── pinkie@2.0.4   │ │ ├─┬ hawk@3.1.3   │ │ │ ├── boom@2.10.1   │ │ │ ├── cryptiles@2.0.5   │ │ │ ├── hoek@2.16.3   │ │ │ └── sntp@1.0.9   │ │ ├─┬ http-signature@1.1.1   │ │ │ ├── assert-plus@0.2.0   │ │ │ ├─┬ jsprim@1.3.1   │ │ │ │ ├── extsprintf@1.0.2   │ │ │ │ ├── json-schema@0.2.3   │ │ │ │ └── verror@1.3.6   │ │ │ └─┬ sshpk@1.10.1   │ │ │   ├── asn1@0.2.3   │ │ │   ├── assert-plus@1.0.0   │ │ │   ├── bcrypt-pbkdf@1.0.0   │ │ │   ├─┬ dashdash@1.14.1   │ │ │   │ └── assert-plus@1.0.0   │ │ │   ├── ecc-jsbn@0.1.1   │ │ │   ├─┬ getpass@0.1.6   │ │ │   │ └── assert-plus@1.0.0   │ │ │   ├── jodid25519@1.0.2   │ │ │   ├── jsbn@0.1.0   │ │ │   └── tweetnacl@0.14.5   │ │ ├── is-typedarray@1.0.0   │ │ ├── isstream@0.1.2   │ │ ├─┬ mime-types@2.1.13   │ │ │ └── mime-db@1.25.0   │ │ ├── oauth-sign@0.8.2   │ │ └── qs@6.3.0   │ ├─┬ tough-cookie@2.3.2   │ │ └── punycode@1.4.1   │ └── uuid@3.0.1   ├─┬ nopt@3.0.1   │ └── abbrev@1.0.9   ├── q@1.0.1   ├── underscore@1.7.0   └─┬ update-notifier@0.5.0     ├── is-npm@1.0.0     ├─┬ latest-version@1.0.1     │ └─┬ package-json@1.2.0     │   ├─┬ got@3.3.1     │   │ ├─┬ duplexify@3.5.0     │   │ │ ├─┬ end-of-stream@1.0.0     │   │ │ │ └── once@1.3.3     │   │ │ └── stream-shift@1.0.0     │   │ ├── infinity-agent@2.0.3     │   │ ├── is-redirect@1.0.0     │   │ ├── is-stream@1.1.0     │   │ ├── lowercase-keys@1.0.0     │   │ ├── nested-error-stacks@1.0.2     │   │ ├── object-assign@3.0.0     │   │ ├── prepend-http@1.0.4     │   │ ├── read-all-stream@3.1.0     │   │ └── timed-out@2.0.0     │   └─┬ registry-url@3.1.0     │     └─┬ rc@1.1.6     │       ├── deep-extend@0.4.1     │       ├── ini@1.3.4     │       └── strip-json-comments@1.0.4     ├─┬ repeating@1.1.3     │ └─┬ is-finite@1.0.2     │   └── number-is-nan@1.0.1     ├── semver-diff@2.1.0     └── string-length@1.0.1 ChenfydeMBP:~ Chenfy$ ChenfydeMBP:~ Chenfy$ 
1 0
原创粉丝点击