【笔记】Nodejs开发脚手架项目

前言

Nodejs开发脚手架项目

配置环境变量

  • 修改配置文件,定义可执行文件路径
package.json
1
2
3
4
5
{
"bin": {
"name": "index.js"
}
}
  • 向环境变量添加软链接
1
npm link

获取命令行参数

1
name arg1 arg2
1
console.log(process.env); // ["node", "name", "arg1", arg2""]

通过Commander处理命令行参数

  • The complete solution for node.js command-line interfaces.(Github)

下载依赖

1
npm install commander

引入依赖

1
const { program } = require("commander");
1
const program = require("commander");

处理参数

版本

1
2
const version = require("package.json").version;
program.version(version);
1
name --version
包含简写
1
2
const version = require("package.json").version;
program.version(version, "-v --version");
1
name -v

说明文档

1
2
3
4
5
program.on("--help", function () {
console.log("");
console.log("Others:");
console.log(" text");
});
1
2
3
4
5
6
7
Usage: index [options]

Options:
-v --version output the version number

Others:
text

其他参数

1
name -o .
1
2
program.option("-o --out");
console.log(program.opts().o); // "."
包含帮助文档描述

"desc":描述

1
program.option("-o --out", "desc");
  • 使用--help查看帮助文档时会提示描述
1
name --help
1
2
3
4
5
Usage: index [options]

Options:
-v --version output the version number
-o --out desc

处理命令

1
2
3
program
.command("create <project> [---others]")
.action(function (project) {});

包含说明文档描述

"desc":描述

1
2
3
4
program
.command("create <project> [---others]")
.description("desc")
.action(function (project) {});
  • 使用--help查看帮助文档时会提示描述
1
name --help
1
2
3
4
5
6
7
Usage: index [options]

Options:
-v --version output the version number

Commands:
create <project> [...others] desc

完成