28 # コマンダーの使用法

ノードとフロントエンドの違い

  • フロントエンドには BOM と DOM がありますが、サーバーにはなく、ウィンドウもありません
  • サーバーにはグローバルなグローバル オブジェクトがあります (ブラウザにもグローバルがありますが、属性にアクセスする場合、それらはすべてウィンドウを介してプロキシされ、グローバルに直接アクセスすることはできず、グローバルに直接アクセスすることもできません)。
console.log(global);
// global 跟 window 一样,可以循环引用
console.log(global.global.global);

プロセスプロセス(重要)

process のデフォルト値はグローバルで検索されます。

次のように書くことはできませんthis.process。ノードにはファイルに基づいたモジュラー システムがあり、各ファイルはモジュールであり、モジュール内の this は次のように変更されます。{}

console.log(global.process);

(1) platform: この属性を使用して、現在の実行システム環境を判断できます。

console.log(process.platform);

https://nodejs.org/api/process.html#process_process_platform

ここに画像の説明を挿入

(2) argv: ユーザーによって渡されたパラメータを解析できます (最初のパラメータ: node.exe、2 番目のパラメータ: 現在ノードによって実行されているファイル)

ノードファイルを実行するnode index.js a b c d webpack --mode --config --port --process

console.log(process.argv);

例:node '28 # commander 的用法.js' --port 3000 --color red --config kaimo

let args = process.argv.slice(2);
let obj = {
    
    };
args.forEach((item, index) => {
    
    
    if (item.startsWith("--")) {
    
    
        obj[item.slice(2)] = args[index + 1];
    }
});
console.log(obj); // { port: '3000', color: 'red', config: 'kaimo' }

ここに画像の説明を挿入

指揮官

最初に依存関係をインストールします

npm init -y
npm install commander

最初に npm 上のすべてのモジュールをインストールして使用する必要があります (モジュールにはいくつかのプロパティも用意されており、モジュール内で直接アクセスすることもできます。たとえば、require はパラメーターに相当します)。

const program = require("commander");
let kaimo = program
    .command("create")
    .action(() => {
    
    
        console.log("创建项目");
    })
    .version("3.1.3")
    .name("kaimo")
    .usage("怎么使用?")
    .option("-p,--port <v>", "设置你的端口")
    .option("-c,--color <v>", "设置你的颜色")
    .option("-cf,--config <v>", "设置你的配置")
    .parse(process.argv);

埋め込む:

node '28 # commander 的用法.js' -h

ここに画像の説明を挿入

node '28 # commander 的用法.js' -V

ここに画像の説明を挿入

node '28 # commander 的用法.js' create xxx

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/kaimo313/article/details/131054155