目次
コマンドラインインターフェイスの作成
NPMへの公開
魔法を再開!

npmに履歴書を作成する方法

Apr 13, 2025 am 10:12 AM

npmに履歴書を作成する方法

ちょうど昨日、アリの教会員は、CSSグリッドレイアウトを使用して履歴書を作成するためのきちんとした方法を共有しました。コマンドラインを使用したいときにいつでもスピンアップできるテンプレートを作成することで、それを少しだけ構築しましょう。それについてのクールなことは、たった1つのコマンドでそれを実行できることです。

コマンドラインが威圧的になる可能性があることはわかっています。はい、node.jsで作業します。私たちは物事を小さなステップに分解し、それを追いかけやすくします。

多くのプロジェクトと同様に、少しセットアップが関係しています。ワーキングディレクトリに空のフォルダーを作成し、NPMまたはYARNを使用してプロジェクトを初期化することから始めます。

 mkdir your-project && cd "$ _"

## npm
npm init

## Yarn
糸init
ログイン後にコピー

「Your-Project」に使用する名前は、NPMレジストリのパッケージの名前です。

次のステップは、アプリケーションのエントリファイル、つまりこの場合のindex.jsを作成することです。また、データを保存する場所も必要なので、data.jsonという別のファイルを作成します。それらを作成すると、コマンドラインからそれらを開くことができます:

 index.js && touch data.jsonをタッチします
ログイン後にコピー

コマンドラインインターフェイスの作成

このアプリを作成することで得られる大きな利点は、コマンドラインに直接履歴書を作成する半視覚的な方法を提供することです。それを実現するにはいくつかのことが必要です:

  • データを保存するオブジェクト
  • インタラクティブコマンドラインインターフェイス(Inquirer.jsを使用して構築する)

その最初のものから始めましょう。 Open data.jsonをクラックし、次を追加します。

 {
  "教育": [
    「いくつかの情報」、
    「それほど重要ではない情報」、
    「など」
  ]、、
  "経験": [
    「いくつかの情報」、
    「それほど重要ではない情報」、
    「など」
  ]、、
  "接触": [
    「あなたに連絡する方法」
  ]
}
ログイン後にコピー

これは、インターフェイス内の各ステップに使用されるオブジェクトとキーを定義する単なる例です。自分のニーズに合わせて完全に変更できます。

それが私たちが最初に必要としたものです。 2つ目は、インタラクティブなインターフェイスです。 Inquirer.jsは90%を処理します。このパッケージの詳細については、お気軽に読んでください。そのため、より高度なインターフェイスを構築できます。

 YarnはInquirer Chalkを追加します
ログイン後にコピー

そのチョークのことは何ですか?これは、より良い体験のために色とスタイリングを追加することで、ターミナル出力をカスタマイズするのに役立つライブラリです。

次に、index.jsを開いて、次のコードを貼り付けましょう。

 #!/usr/bin/envノード

「Strictを使用」;

const Inquirer = require( "Inquirer");
const chalk = require( "chalk");
const data = require( "./ data.json");

//応答の色を追加します
const response = chalk.bold.blue;

const resumeOptions = {
  タイプ:「リスト」、
  名前:「resumeOptions」、
  メッセージ:「何を知りたいですか」、
  選択:[... object.keys(data)、 "exit"]
};

関数showresume(){
  console.log( "こんにちは、これは私の履歴書です");
  Handleresume();
}

function handleresume(){
  Inquirer.Prompt(resumeOptions).Then(Answer => {
    if(answer.resumeoptions == "exit")return;

    const options = data [`$ {answer.resumeoptions}`]
    if(options){
      console.log(response(new Inquirer.separator()));
      options.foreach(info => {
        console.log(response( "| =>" info));
      });
      console.log(response(new Inquirer.separator()));
    }

    Inquirer
      。プロンプト({
        タイプ:「リスト」、
        名前:「exitback」、
        メッセージ:「戻るか終了しますか?」
        選択:["back"、 "exit"]
      })。
        if(choice.exitback == "back"){
          Handleresume();
        } それ以外 {
          戻る;
        }
      });
  })。catch(err => console.log( 'oooops、'、err))
}

showresume();
ログイン後にコピー

Zoikes!それはコードの大きな塊です。何が起こっているのかを説明するために、少し引き裂きましょう。

ファイルの上部では、アプリを実行し、チョークライブラリを使用してカラースタイルを設定するために必要なすべてのものをインポートしています。色とカスタマイズについてもっと興味がある場合は、Chalkのドキュメントをチェックしてください。

 const Inquirer = require( "Inquirer");
const chalk = require( "chalk");
const data = require( "./ data.json");

//応答の色を追加します
const response = chalk.bold.blue;
ログイン後にコピー

コードが行っている次のことは、履歴書オプションのリストを作成することです。これらは、ターミナルでコマンドを入力した後に表示されるものです。私たちはそれをresumeoptionsと呼んでいるので、それが何をするかを正確に知っています。

 const resumeOptions = {
  タイプ:「リスト」、
  名前:「resumeOptions」、
  メッセージ:「何を知りたいですか」、
  選択:[... object.keys(data)、 "exit"]
};
ログイン後にコピー

データオブジェクトのキーを構成しながら、必要に応じてアプリを「終了」する方法を提供しながら、選択フィールドにほとんど関心があります。

その後、関数showresume()を作成します。これは、起動直後に実行される主な関数となります。歓迎のメッセージを表示し、Handleresume()関数を実行します。

関数showresume(){
  console.log( "こんにちは、これは私の履歴書です");
  Handleresume();
}
ログイン後にコピー

わかりました、今、大きなもののために:Handleresume()関数。最初の部分は、アプリを終了していないことを確認し、すべてが良い場合にデータオブジェクトから登録オプションを表示するための条件チェックです。つまり、選択したオプションが終了した場合、プログラムを終了します。それ以外の場合は、選択したキーの下で利用可能なオプションのリストを取得します。

そのため、アプリが終了していないことを確認したら、ness.resumeoptionsを取得します。私たちが定義したのは、教育、経験、連絡先でした。

それは私たちをInquirer.jsのものにもたらします。これらの作品をリストすると、最も簡単かもしれません。

Options Outputで新しいInquirer.separator()機能が機能することに気づきましたか?これは、コンテンツ間の視覚的なセパレーターを提供して、インターフェイスを少し読みやすくするために、コンテンツ間の視覚的なセパレーターを提供する機能です。

さて、オプションのリストを表示しています!次に、前の画面に戻る方法をAAにする必要があります。そうするために、別のInquirer.Promptを作成します。このオブジェクトを渡しますが、今回はExitとBackの2つのオプションしかありません。それは私たちが処理する必要がある答えで私たちに約束を返します。選択したオプションが戻ってくる場合、Handleresume()を実行します。つまり、メイン画面を再度開きます。 Exitを選択した場合、関数を終了します。

最後に、キャッチステートメントを追加して、可能なエラーをキャッチします。良い練習。 :)

NPMへの公開

おめでとう! Node index.jsを実行してみてください。アプリをテストできるはずです。

それは素晴らしいことですが、毎回直接働くことなく実行することをお勧めします。これは、私たちが見たばかりの関数よりもはるかに簡単です。

  1. お客様が持っていない場合は、npmjs.comでアカウントを登録してください。
  2. NPM Adduserを実行して、ユーザーをCLIに追加します。
  3. NPMアカウントの登録に使用したユーザー名とパスワードを提供します。
  4. package.jsonに移動し、次の行を追加します。
     「ビン」:{
      「Your-Package-Name」:「./index.js」
    }
    ログイン後にコピー
  5. アプリのNPMページに表示されるreadme.mdファイルを追加します。
  6. パッケージを公開します。
 NPM Publish -Access = public
ログイン後にコピー

パッケージを更新するときはいつでも、それらをnpmにプッシュできます。 NPMバージョンの詳細については、こちらをご覧ください。

 NPMバージョンパッチ// 1.0.1
NPMバージョンマイナー// 1.1.0
NPMバージョンメジャー// 2.0.0
ログイン後にコピー

更新をNPMにプッシュするには:

 NPMパブリッシュ
ログイン後にコピー

魔法を再開!

それでおしまい!これで、npx your-package-nameをコマンドラインに入力し、すぐそこに履歴書を作成する魔法を体験できます。ちなみに、NPXは、マシンにローカルにインストールせずにコマンドを実行する方法です。 NPMをインストールしている場合、自動的に利用できます。

これは単純なターミナルアプリですが、舞台裏のロジックを理解することで驚くべきものを作成することができ、これがあなたの最初のステップです。

ソースコード

ハッピーコーディング!

以上がnpmに履歴書を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

最初のカスタムSvelteトランジションを作成します 最初のカスタムSvelteトランジションを作成します Mar 15, 2025 am 11:08 AM

Svelte Transition APIは、コンポーネントがカスタムSVELTE遷移を含むドキュメントを入力または離れるときにアニメーション化する方法を提供します。

GraphQLキャッシングの使用 GraphQLキャッシングの使用 Mar 19, 2025 am 09:36 AM

最近GraphQLの作業を開始した場合、またはその長所と短所をレビューした場合、「GraphQLがキャッシュをサポートしていない」または

ショー、Don' t Tell ショー、Don' t Tell Mar 16, 2025 am 11:49 AM

あなたのウェブサイトのコンテンツプレゼンテーションの設計にどれくらいの時間に費やしますか?新しいブログ投稿を書いたり、新しいページを作成したりするとき、あなたは考えていますか

Redwood.jsと動物相を使用してイーサリアムアプリを構築します Redwood.jsと動物相を使用してイーサリアムアプリを構築します Mar 28, 2025 am 09:18 AM

最近のビットコインの価格が20k $ $ USDを超えており、最近30Kを破ったので、イーサリアムを作成するために深く掘り下げる価値があると思いました

Eleventyで独自のBragdocを作成します Eleventyで独自のBragdocを作成します Mar 18, 2025 am 11:23 AM

開発者としての段階に関係なく、私たちが完了したタスクは、大小を問わず、個人的および専門的な成長に大きな影響を与えます。

CI/CDで少し CI/CDで少し Apr 02, 2025 pm 06:21 PM

「ウェブサイト」は「モバイルアプリ」よりも適していると言いますが、Max Lynchからのこのフレーミングが好きです。

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

それは' Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

NPMコマンドは何ですか? NPMコマンドは何ですか? Mar 15, 2025 am 11:36 AM

NPMコマンドは、サーバーの開始やコンパイルコードなどの1回限りのプロセスまたは継続的に実行されるプロセスとして、さまざまなタスクを実行します。

See all articles