28 # 사령관의 사용법

노드와 프런트 엔드의 차이점

  • 프런트 엔드에는 BOM과 DOM이 있지만 서버에는 없고 창이 없습니다.
  • 서버에 전역 전역 개체가 있습니다(브라우저도 전역이 있지만 속성에 액세스할 때 모두 창을 통해 프록시되며 전역에 직접 액세스할 수 없으며 전역에 직접 액세스할 수 없습니다)
console.log(global);
// global 跟 window 一样,可以循环引用
console.log(global.global.global);

프로세스 프로세스(중요)

프로세스의 기본값은 전역에서 검색됩니다.

다음과 같이 쓸 수 없습니다 this.process: 노드에 파일을 기반으로 하는 모듈식 시스템이 있고, 각 파일은 모듈이며, 모듈에서 이것은 다음과 같이 변경됩니다.{}

console.log(global.process);

(1) 플랫폼: 이 속성을 사용하여 현재 실행 시스템 환경을 판단할 수 있습니다.

console.log(process.platform);

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

여기에 이미지 설명 삽입

(2) argv: 사용자가 전달한 매개변수를 파싱할 수 있습니다(첫 번째 매개변수: node.exe, 두 번째 매개변수: 현재 노드에서 실행 중인 파일).

노드 파일 실행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

여기에 이미지 설명 삽입

Guess you like

Origin blog.csdn.net/kaimo313/article/details/131054155
28