Electronではじめるアプリ開発 2-2 アプリケーション作成の準備
Electronを本で勉強。今回は2-2を。
Electronではじめるアプリ開発 ~JavaScript/HTML/CSSでデスクトップアプリを作ろう
- 作者: 野口将人,倉見洋輔
- 出版社/メーカー: 技術評論社
- 発売日: 2017/03/28
- メディア: 大型本
- この商品を含むブログを見る
package.jsonを作成する
まずはアプリケーション作成用のディレクトリelectron_first_app
を作って移動。
そこでnpm init
する。
以下、本の通りの値(名前は自分の)を入力。
rrcs-172-254-99-29:electron_first_app yoshikiito$ npm init This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible defaults. See `npm help json` for definitive documentation on these fields and exactly what they do. Use `npm install <pkg> --save` afterwards to install a package and save it as a dependency in the package.json file. Press ^C at any time to quit. name: (electron_first_app) version: (1.0.0) description: My first Electron app entry point: (index.js) main.js test command: git repository: keywords: author: yoshikiito license: (ISC) MIT About to write to /Users/yoshikiito/workspace/electron_first_app/package.json: { "name": "electron_first_app", "version": "1.0.0", "description": "My first Electron app", "main": "main.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "yoshikiito", "license": "MIT" } Is this ok? (yes) yes
Electronのインストール
npm install electron@1.6.1 --save-dev
・・・ここでわりと待たされる・・・
$ npm install electron@1.6.1 --save-dev > electron@1.6.1 postinstall /Users/yoshikiito/workspace/electron_first_app/node_modules/electron > node install.js electron_first_app@1.0.0 /Users/yoshikiito/workspace/electron_first_app └─┬ electron@1.6.1 ├─┬ electron-download@3.3.0 │ ├─┬ debug@2.6.3 │ │ └── ms@0.7.2 │ ├─┬ fs-extra@0.30.0 │ │ ├── graceful-fs@4.1.11 │ │ ├── jsonfile@2.4.0 │ │ ├── klaw@1.3.1 │ │ ├── path-is-absolute@1.0.1 │ │ └─┬ rimraf@2.6.1 │ │ └─┬ glob@7.1.1 │ │ ├── fs.realpath@1.0.0 │ │ ├─┬ inflight@1.0.6 │ │ │ └── wrappy@1.0.2 │ │ ├─┬ minimatch@3.0.3 │ │ │ └─┬ brace-expansion@1.1.7 │ │ │ ├── balanced-match@0.4.2 │ │ │ └── concat-map@0.0.1 │ │ └── once@1.4.0 │ ├── home-path@1.0.5 │ ├── minimist@1.2.0 │ ├─┬ nugget@2.0.1 │ │ ├─┬ pretty-bytes@1.0.4 │ │ │ ├── get-stdin@4.0.1 │ │ │ └─┬ meow@3.7.0 │ │ │ ├─┬ camelcase-keys@2.1.0 │ │ │ │ └── camelcase@2.1.1 │ │ │ ├── decamelize@1.2.0 │ │ │ ├─┬ loud-rejection@1.6.0 │ │ │ │ ├─┬ currently-unhandled@0.4.1 │ │ │ │ │ └── array-find-index@1.0.2 │ │ │ │ └── signal-exit@3.0.2 │ │ │ ├── map-obj@1.0.1 │ │ │ ├─┬ normalize-package-data@2.3.6 │ │ │ │ ├── hosted-git-info@2.4.1 │ │ │ │ ├─┬ 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 │ │ │ ├── object-assign@4.1.1 │ │ │ ├─┬ read-pkg-up@1.0.1 │ │ │ │ ├── find-up@1.1.2 │ │ │ │ └─┬ read-pkg@1.1.0 │ │ │ │ ├─┬ load-json-file@1.1.0 │ │ │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ │ │ └─┬ error-ex@1.3.1 │ │ │ │ │ │ └── is-arrayish@0.2.1 │ │ │ │ │ ├── pify@2.3.0 │ │ │ │ │ └─┬ strip-bom@2.0.0 │ │ │ │ │ └── is-utf8@0.2.1 │ │ │ │ └── path-type@1.1.0 │ │ │ ├─┬ redent@1.0.0 │ │ │ │ ├─┬ indent-string@2.1.0 │ │ │ │ │ └─┬ repeating@2.0.1 │ │ │ │ │ └── is-finite@1.0.2 │ │ │ │ └── strip-indent@1.0.1 │ │ │ └── trim-newlines@1.0.0 │ │ ├─┬ progress-stream@1.2.0 │ │ │ ├── speedometer@0.1.4 │ │ │ └─┬ through2@0.2.3 │ │ │ ├─┬ readable-stream@1.1.14 │ │ │ │ └── isarray@0.0.1 │ │ │ └─┬ xtend@2.1.2 │ │ │ └── object-keys@0.4.0 │ │ ├─┬ request@2.81.0 │ │ │ ├── aws-sign2@0.6.0 │ │ │ ├── aws4@1.6.0 │ │ │ ├── caseless@0.12.0 │ │ │ ├─┬ combined-stream@1.0.5 │ │ │ │ └── delayed-stream@1.0.0 │ │ │ ├── extend@3.0.0 │ │ │ ├── forever-agent@0.6.1 │ │ │ ├─┬ form-data@2.1.4 │ │ │ │ └── asynckit@0.4.0 │ │ │ ├─┬ har-validator@4.2.1 │ │ │ │ ├─┬ ajv@4.11.6 │ │ │ │ │ ├── co@4.6.0 │ │ │ │ │ └─┬ json-stable-stringify@1.0.1 │ │ │ │ │ └── jsonify@0.0.0 │ │ │ │ └── har-schema@1.0.5 │ │ │ ├─┬ 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.4.0 │ │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ │ ├── extsprintf@1.0.2 │ │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ │ └── verror@1.3.6 │ │ │ │ └─┬ sshpk@1.11.0 │ │ │ │ ├── asn1@0.2.3 │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ ├── bcrypt-pbkdf@1.0.1 │ │ │ │ ├─┬ 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.1 │ │ │ │ └── tweetnacl@0.14.5 │ │ │ ├── is-typedarray@1.0.0 │ │ │ ├── isstream@0.1.2 │ │ │ ├── json-stringify-safe@5.0.1 │ │ │ ├─┬ mime-types@2.1.15 │ │ │ │ └── mime-db@1.27.0 │ │ │ ├── oauth-sign@0.8.2 │ │ │ ├── performance-now@0.2.0 │ │ │ ├── qs@6.4.0 │ │ │ ├── safe-buffer@5.0.1 │ │ │ ├── stringstream@0.0.5 │ │ │ ├─┬ tough-cookie@2.3.2 │ │ │ │ └── punycode@1.4.1 │ │ │ ├── tunnel-agent@0.6.0 │ │ │ └── uuid@3.0.1 │ │ ├─┬ single-line-log@1.1.2 │ │ │ └─┬ string-width@1.0.2 │ │ │ ├── code-point-at@1.1.0 │ │ │ ├─┬ is-fullwidth-code-point@1.0.0 │ │ │ │ └── number-is-nan@1.0.1 │ │ │ └─┬ strip-ansi@3.0.1 │ │ │ └── ansi-regex@2.1.1 │ │ └── throttleit@0.0.2 │ ├─┬ path-exists@2.1.0 │ │ └─┬ pinkie-promise@2.0.1 │ │ └── pinkie@2.0.4 │ ├─┬ rc@1.2.1 │ │ ├── deep-extend@0.4.1 │ │ ├── ini@1.3.4 │ │ └── strip-json-comments@2.0.1 │ ├── semver@5.3.0 │ └─┬ sumchecker@1.3.1 │ └── es6-promise@4.1.0 └─┬ extract-zip@1.6.0 ├─┬ concat-stream@1.5.0 │ ├── inherits@2.0.3 │ ├─┬ 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 ├── debug@0.7.4 ├─┬ mkdirp@0.5.0 │ └── minimist@0.0.8 └─┬ yauzl@2.4.1 └─┬ fd-slicer@1.0.1 └── pend@1.2.0 npm WARN electron_first_app@1.0.0 No repository field.
警告が出た。 gitリポジトリを指定しなかったから出たものと想像。
参考:node.js - npm WARN package.json: No repository field - Stack Overflow
$ ./node_modules/.bin/electron
で起動して確認。
無事起動!
今回の勉強時間:16分 累計勉強時間:14時間49分