2017-06-07 127 views
-1

因此,這更多的是一個開放式問題:我已經開始使用節點,並且我一直在爲練習創建命令行應用程序。這些應用程序中的大多數都使用命令行參數並向API發出http請求,並根據傳遞的參數提供結果。事情是,我希望這些程序具有有用的前端接口,以便結果不僅僅通過命令行終端顯示。有沒有簡單的方法來完成這個? Express對此有用嗎?將Node.js命令行應用程序轉換爲網絡應用程序

+0

是的,這就是像快遞這樣的東西是有用的:) –

回答

1

也許更充分,這就是快遞的用途,這就是路由爲你做的 - 這樣你的瀏覽器就可以被定向到默認的頁面或特定的頁面或服務。如果你渲染基本的HTML網頁,存儲在/ 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服務器當各種get和post命令被髮送到應用程序時該怎麼做。

隨着您的應用程序變得越來越複雜,您可能需要考慮將路由器服務作爲構建應用程序代碼和關聯服務的一種方式。

你還需要啓動一個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個新的服務:快遞,EJS和cfenv。你可以使用標準的npm安裝過程將它加入你的本地應用程序,以便你可以使用它們。從您的應用程序根文件夾中,您將執行npm install --save express,爲三項新服務中的每一項重複。

相關問題