Node.jsのCLIアプリ
azu opened this issue · 15 comments
Node.jsのCLIアプリで何か一つユースケースがあるといいのではないという話が #5 ででた。
具体的に何かは出てなかったので、考える必要がありそう。
/cc @laco0416
CLIを話題にするなら、引数とオプションを扱う感じがする。
引数パース -> オプションオブジェクトに変換 -> 関数に渡す
デフォルトオプションをObject.assign
とデフォルト引数で扱う方法をカバーできてると良い気がする(ものすごく典型的なユースケース)
const DEFAULTS = {
logLevel: 0,
outputFormat: 'html'
};
function processContent(options) {
options = Object.assign({}, DEFAULTS, options); // (A)
···
}
callbackベースの標準API(fsとか)をPromiseでラップしてメソッドチェーンで処理するケース
なかなかいい題材が思いつかない…
npmパッケージの活用ということでとりあえずcommanderは入れようと思っているけど、生でprocess.argvに触るときに[0]と[1]に何が入っているみたいな話は別に必要そう
ファイルパスを受け取って読み取って何かしら改変して吐き出す、と思っていたけどどう改変するとユースケースっぽいか悩んでる。ただのチュートリアルならアッパーケースにするとかだけでもいいけど、ユースケースとなるともうちょっと「応用すれば実用的かも」くらいな題材がいい気がしている
https://www.npmjs.com/package/table を使って、CSVを読み込んでテーブルのアスキーアートを出力するのは面白そうだなと思ったけど、このパッケージがライブラリをデフォルトモジュールで出力していて const table = require('table');
で使えないので微妙
AjaxサンプルのほうでもGitHub API使ったし、こっちでもmarkdown -> html 変換とかやるといいかも
Node.js バージョン管理ツールとElectronベースのインストーラーの議論があるのか。
https://github.com/nodejs/version-management
https://github.com/nodejs/installer
The Node Beginner Book » A comprehensive Node.js tutorial
これ一応今もアップデートされてるんだな
JSPatterns.com » Blog Archive » Node shell scripting
今時めずらしいNode.jsの本当に入門的な記事が書かれてた
今時のフロントエンド開発2017 (2. 構築編) - Qiita
npmのオプションテーブルわかりやすい
とりあえず完了
そういえば console.assert
は https://asciidwango.github.io/js-primer/basic/implicit-coercion/#%E3%82%B3%E3%83%A9%E3%83%A0-nan%E3%81%AFnot-a-number%E3%81%A0%E3%81%91%E3%81%A9number%E5%9E%8B のコラムで軽く触れていることを思い出しました
Object.assignを {...obj}
に書き直す
ひとまず書き終わってるのでcloseする