将node.js命令行应用程序转换为Web应用程序



,所以这更像是一个开放的问题:我已经开始使用节点,并且一直在创建命令行应用程序以进行练习。这些应用程序中的大多数都采用命令行参数,并向API提出HTTP请求,并根据通过的参数为结果提供结果。问题是,我希望这些程序具有有用的前端接口,以便结果不仅是通过命令行终端显示的。有什么简单的方法可以实现这一目标吗?这对?

有用吗?

也许更全面,这就是Express的目的,这就是路由为您所做的 - 以便可以将浏览器定向到默认值(例如index.html(页面或特定页面或特定页面或服务。如果您要渲染将基本的HTML页面存储在AN/HTML文件夹中,则为用户,则您的应用程序中可能具有以下类型的代码:

var express = require('express');
var app = express();
app.engine('html', require('ejs').renderFile);
app.use(express.static(__dirname + '/HTML'));

随后是一系列app.get('path/from/browser')和/或app.post('path/from/broswer')语句,这些语句告诉您的Nodejs服务器,当将各种获取和发布命令发送到应用程序时该怎么办。

随着您的应用程序变得更加复杂,您可能需要将路由器服务视为构建应用程序代码和关联服务的一种方式。

您还需要启动HTTP服务器,因此浏览器实际上可以与服务器通信。您可以通过执行以下代码来以一种非常简单的方式来执行此操作:

var cfenv = require('cfenv');
var appEnv = cfenv.getAppEnv();
app.set('port', appEnv.port);
var server = app.listen(app.get('port'), function() {console.log('Listening on port %d', server.address().port);});

在这个简单的示例中,您的应用现在使用3个新服务:Express,EJS和CFENV。您将使用标准的NPM安装过程将其输入本地应用程序,以便可以使用它们。从您的应用程序根文件夹中,您将执行npm install --save express,重复三个新服务中的每一个。

最新更新