2014-03-29 48 views
1

我将如何去创建一个像JavaScript界面​​的CLI?我将如何去在javascript中创建命令行界面?

我的意思是这样的cmd.fm

我有很多的jQuery的工作,原谅我,如果我错了,但我对如何建立这个唯一的想法是得到什么用户为例键入并使用开关功能并检查命令是否存在,然后执行该命令。

+1

[右键单击 - >查看源代码](https://cmd.fm/assets/application-b06c59d2eb35aa4a0171be2880245f8b.js)。 – h2ooooooo

+0

@ h2ooooooo我尝试过,没有我不能读它。 –

+0

在阅读代码时获得更好的效果:); –

回答

1

这一切都取决于你需要多么复杂的命令!我会假设你知道如何用行来呈现页面,并捕获按键(最简单的方法是样式化文本输入,并监听返回键,而不是尝试解码键事件)。

我建立一个像这样的数据结构(在JS):

var commands = { 
    "doThing": function(args) { /* do stuff with the args */ }, 
    "doAnotherThing": function(args) { /* do other stuff with the args */ } 
} 

用户键入:

> doThing foo bar blah 

在这个简单的例子中,你会通过空间分割线字符,并将结果数组中的第一个元素作为命令名。然后你会检查是否存在commands[commandName],如果是这样,运行它:commands[commandName](args);

如果你想要做一些更高级的,你将需要写一个tokeniser(技术上对空间分割是简单的记号器) - 然后事情变得更加复杂,但同样的基本方法适用。

我希望这足以让你开始。