Skip to content

Commit 03e77df

Browse files
oGsLPshadowspawn
authored andcommitted
Update Chinese README for v4.1.0
1 parent 808d4bc commit 03e77df

File tree

1 file changed

+43
-3
lines changed

1 file changed

+43
-3
lines changed

Readme_zh-CN.md

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,15 @@
3131
- [.help(cb)](#helpcb)
3232
- [自定义事件监听](#%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6%e7%9b%91%e5%90%ac)
3333
- [零碎知识](#%e9%9b%b6%e7%a2%8e%e7%9f%a5%e8%af%86)
34+
- [避免选项命名冲突](#避免选项命名冲突)
3435
- [TypeScript](#typescript)
3536
- [Node 选项例如 `--harmony`](#node-%e9%80%89%e9%a1%b9%e4%be%8b%e5%a6%82---harmony)
3637
- [Node 调试](#node-%e8%b0%83%e8%af%95)
3738
- [重载退出(exit)处理](#%e9%87%8d%e8%bd%bd%e9%80%80%e5%87%baexit%e5%a4%84%e7%90%86)
3839
- [例子](#%e4%be%8b%e5%ad%90)
3940
- [许可证](#%e8%ae%b8%e5%8f%af%e8%af%81)
4041
- [支持](#%e6%94%af%e6%8c%81)
42+
- [企业使用Commander](#企业使用Commander)
4143

4244
## 安装
4345

@@ -68,6 +70,8 @@ program.version('0.0.1');
6870

6971
选项会被放到 Commander 对象的属性上,多词选项如"--template-engine"会被转为驼峰法`program.templateEngine`。多个短标识可以组合为一个参数,如`-a -b -c`等价于`-abc`
7072

73+
另请参看可选的新功能 [避免命名冲突](#避免选项命名冲突).
74+
7175
### 常用选项类型,boolean和值
7276

7377
最常用的两个选项类型是boolean(选项后面不跟值)和选项跟一个值(使用尖括号声明)。除非在命令行中指定,否则两者都是`undefined`
@@ -540,6 +544,39 @@ program.on('command:*', function () {
540544
541545
## 零碎知识
542546
547+
### 避免选项命名冲突
548+
549+
Commander原本和默认的行为是将选项值作为program的属性存储的,并且给操作处理程序(action handler)传递了一个将选项值作为属性存储的command对象。
550+
这样确实使得编程很方便,但是会带来有可能会和Command对象的属性相冲突的缺点。
551+
552+
这里有两种方法来改变着这样的行为,而且我们有可能在将来改变默认的行为
553+
554+
- `storeOptionsAsProperties`: 是否将选项值作为command对象的属性来存储,亦或者分开地存储(指定 false)并使用`.opts()`来获得。
555+
- `passCommandToAction`: 是否把command对象传递给操作处理程序,亦或者仅仅传递这些选项(指定 false)
556+
557+
```js
558+
// 文件: ./examples/storeOptionsAsProperties.action.js
559+
program
560+
.storeOptionsAsProperties(false)
561+
.passCommandToAction(false);
562+
563+
program
564+
.name('my-program-name')
565+
.option('-n,--name <name>');
566+
567+
program
568+
.command('show')
569+
.option('-a,--action <action>')
570+
.action((options) => {
571+
console.log(options.action);
572+
});
573+
574+
program.parse(process.argv);
575+
576+
const programOptions = program.opts();
577+
console.log(programOptions.name);
578+
```
579+
543580
### TypeScript
544581
545582
包里包含 TypeScript 定义文件,但是需要你自己安装 node types。如:
@@ -636,10 +673,13 @@ program.parse(process.argv);
636673
637674
## 支持
638675
639-
Commander 现在在Node 8以及更高的版本上得到支持。(尽管Commander仍有可能在更低的Node版本上工作,但是Node 8以下版本不再保证相关的测试)
676+
Commander 4.x版本现在在Node 8以及更高的版本上得到支持,尽管仍有可能在Node 6版本上工作,但是不再保证相关的测试。
677+
(对于Node版本低于6的情况,建议使用Commander 3.x 或 2.x版本。)
640678
641679
主要的社区支持的免费论坛就在Github上的项目[Issues](https://github.com/tj/commander.js/issues)
642680
643-
[专业支持的commander现在已经可用!](https://tidelift.com/subscription/pkg/npm-commander?utm_source=npm-commander&utm_medium=referral&utm_campaign=readme)
681+
### 企业使用Commander
682+
683+
作为Tidelift订阅的一部分现在可用
644684
645-
Tidelift为软件开发团队提供了购买和维护其软件的单一来源,并由最了解软件的专家提供专业级保证,同时与现有工具无缝集成。
685+
Commander和数以千计的其他包的维护者在与Tidelift合作,提供对于企业用来构筑应用的开源依赖的商业支持与维护。通过向相关依赖包的维护者支付一定费用,从而帮助企业节省时间,降低风险,改进代码运行情况。[了解更多](https://tidelift.com/subscription/pkg/npm-commander?utm_source=npm-commander&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)

0 commit comments

Comments
 (0)