Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node.jsのCLIアプリ #7

Closed
azu opened this issue Mar 24, 2016 · 15 comments
Closed

Node.jsのCLIアプリ #7

azu opened this issue Mar 24, 2016 · 15 comments
Assignees
Labels

Comments

@azu
Copy link
Collaborator

azu commented Mar 24, 2016

Node.jsのCLIアプリで何か一つユースケースがあるといいのではないという話が #5 ででた。
具体的に何かは出てなかったので、考える必要がありそう。

/cc @laco0416

@azu
Copy link
Collaborator Author

azu commented Apr 5, 2016

CLIを話題にするなら、引数とオプションを扱う感じがする。

引数パース -> オプションオブジェクトに変換 -> 関数に渡す

デフォルトオプションをObject.assignとデフォルト引数で扱う方法をカバーできてると良い気がする(ものすごく典型的なユースケース)

    const DEFAULTS = {
        logLevel: 0,
        outputFormat: 'html'
    };
    function processContent(options) {
        options = Object.assign({}, DEFAULTS, options); // (A)
        ···
    }

@lacolaco
Copy link
Collaborator

lacolaco commented Apr 19, 2016

callbackベースの標準API(fsとか)をPromiseでラップしてメソッドチェーンで処理するケース

@lacolaco lacolaco self-assigned this Apr 19, 2016
@lacolaco
Copy link
Collaborator

なかなかいい題材が思いつかない…

npmパッケージの活用ということでとりあえずcommanderは入れようと思っているけど、生でprocess.argvに触るときに[0]と[1]に何が入っているみたいな話は別に必要そう

@lacolaco
Copy link
Collaborator

ファイルパスを受け取って読み取って何かしら改変して吐き出す、と思っていたけどどう改変するとユースケースっぽいか悩んでる。ただのチュートリアルならアッパーケースにするとかだけでもいいけど、ユースケースとなるともうちょっと「応用すれば実用的かも」くらいな題材がいい気がしている

@lacolaco
Copy link
Collaborator

https://www.npmjs.com/package/table を使って、CSVを読み込んでテーブルのアスキーアートを出力するのは面白そうだなと思ったけど、このパッケージがライブラリをデフォルトモジュールで出力していて const table = require('table'); で使えないので微妙

@lacolaco
Copy link
Collaborator

AjaxサンプルのほうでもGitHub API使ったし、こっちでもmarkdown -> html 変換とかやるといいかも

@lacolaco
Copy link
Collaborator

@azu
Copy link
Collaborator Author

azu commented Nov 5, 2016

Node.js バージョン管理ツールとElectronベースのインストーラーの議論があるのか。
https://github.com/nodejs/version-management
https://github.com/nodejs/installer

@azu
Copy link
Collaborator Author

azu commented Nov 19, 2016

The Node Beginner Book » A comprehensive Node.js tutorial
これ一応今もアップデートされてるんだな

@azu
Copy link
Collaborator Author

azu commented Jan 8, 2017

JSPatterns.com » Blog Archive » Node shell scripting
今時めずらしいNode.jsの本当に入門的な記事が書かれてた

@azu
Copy link
Collaborator Author

azu commented Mar 28, 2017

今時のフロントエンド開発2017 (2. 構築編) - Qiita
npmのオプションテーブルわかりやすい

@lacolaco
Copy link
Collaborator

とりあえず完了

@azu
Copy link
Collaborator Author

azu commented May 26, 2017

そういえば console.asserthttps://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 のコラムで軽く触れていることを思い出しました

@lacolaco
Copy link
Collaborator

lacolaco commented Feb 1, 2018

Object.assignを {...obj} に書き直す

@lacolaco
Copy link
Collaborator

ひとまず書き終わってるのでcloseする

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants