天天看點

基于JVM的服務端javascript平台Ringo.js入門(二)

與nodejs vertx 等平台類似,Ringo最常見的應用方向是用于web開發。這裡參考官方材料做一些簡要說明。

官方可參考資料:http://www.ringojs.org/tutorial/

Ringo外部包安裝:

http://www.ringojs.org/tutorial/dependencies.md

首先最常見的web開發第三方module包括:stick、ringo-sqlstore、reinhardt等。stick是web架構包,其他兩個就是資料通路與模闆機制。對于web來說ringo基于jsgi标準,然後在jsgi的基礎上提供stick。而sqlstore提供資料通路的架構功能。

在學習他們之前首先需要注意,其實他們是一個外部包。安裝外部包方法。如下:

>> ringo-admin install ringo/stick
>> ringo-admin install grob/ringo-sqlstore
>> ringo-admin install oberhamsi/reinhardt
           

這個操作會在ringo的home目錄下的Packages目錄下安裝包。且通過安裝過程可見,其實安裝是直接從ringo的遠端庫中下載下傳安裝的。從這點上類似于node.js的npm。(不提供跟路徑說明從ringo預設庫位址遠端下載下傳安裝)

基于JVM的服務端javascript平台Ringo.js入門(二)

最小(基本)web應用開發:

http://www.ringojs.org/tutorial/httpserver.md

撰寫一個js程式檔案。

aapp.jss

var app = function(request) {
  return {
    body: ['Hello World'],
    headers: {'Content-Type': 'text/html'},
    status: 200
  }
}

var {Server} = require('ringo/httpserver');
var server = new Server({app: app, port: 8880});
server.start();
           

并使用ringo執行:

>> ringo aapp.js

之後可以在浏覽器中檢視效果:

基于JVM的服務端javascript平台Ringo.js入門(二)

其實就是在server中注冊一個觸發器程式并啟動server。