hello, world
首先,你需要成功在系統中安裝了fibjs。按照慣例,我們從最簡單的"hello, world" 開始我們的第一行fibjs 程式:
1console.log('hello, world');
儲存檔案main.js
後,在命令列輸入fibjs main.js
,便可以執行這段程式碼。
第一個hello 伺服器
fibjs 作為後端開發框架,內建了一個相當強大的應用程式伺服器,我們可以十分方便地迅速建立一個web server。接下來我們將建立第一個hello 伺服器:
1
2
3
4
5
6
7const http = require('http');
var svr = new http.Server(8080, (req) => {
req.response.write('hello, world');
});
svr.start();
運行後,在瀏覽器內輸入:
1http://127.0.0.1:8080/
你可以看到我們第一個hello 伺服器的輸出hello, world
。
聰明一些
第一個hello 伺服器比較笨,無論你輸入什麼位址,它都只會回傳hello, world
。接下來我們來讓它變得聰明一點:
1
2
3
4
5
6
7
8
9
10
11const http = require('http');
var hello_server = {
'/:name': (req, name) => {
req.response.write('hello, ' + name);
}
};
var svr = new http.Server(8080, hello_server);
svr.start();
運行後,在瀏覽器網址列內輸入:
1http://127.0.0.1:8080/fibjs
你可以看到伺服器的輸出內容變成了hello, fibjs
,當你修改網址列的內容,伺服器的輸出也會跟著改變。
能者多勞,支持靜態網站
接下來,我們讓伺服器多做一些事情,我們希望伺服器能夠支援靜態檔案瀏覽,同時也可以輸出hello, world
,我們設定回應hello, fibjs
的位址為:/hello/fibjs
:
1
2
3
4
5
6
7
8
9
10
11
12
13const http = require('http');
const path = require('path');
var root_server = {
'/hello/:name': (req, name) => {
req.response.write('hello, ' + name);
},
'*': path.join(__dirname, 'web')
};
var svr = new http.Server(8080, root_server);
svr.start();
你需要建立一個目錄web
,並且在其中存放一些文件,例如下載一份fibjs 文檔放在裡面做為測試。
運行後,我們訪問http://127.0.0.1:8080/hello/fibjs
,依舊可以看到hello, fibjs
,而訪問其它地址,則會看到靜態文件。
增加模組解耦能力
接下來,我們來讓伺服器更複雜。我們有一組hello 服務,完成我們定義的業務請求。這組服務的路徑由主服務依需求指定。下面這個例子中,hello
和bonjour
都會指向hello 的服務。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21const http = require('http');
const path = require('path');
var hello_server = {
'/:name(fibjs.*)': (req, name) => {
req.response.write('hello, ' + name + '. I love you.');
},
'/:name': (req, name) => {
req.response.write('hello, ' + name);
}
};
var root_server = {
'/hello': hello_server,
'/bonjour': hello_server,
'*': path.join(__dirname, 'web')
};
var svr = new http.Server(8080, root_server);
svr.start();
透過這種方式,我們可以很方便地創建出完全解耦的模組,然後使用主程式組裝成我們需要的介面。這在api 版本管理中格外方便,例如從/v1/hello/fibjs
修改為/v2/hello/fibjs
,模組本身不需要做任何變動,僅在入口處修改即可。
小結
透過這個小節,你已經可以開始自己的fibjs 伺服器專案了。接下來,我們會在更多的細分領域介紹fibjs 的開發方法。
👉 【美好生活從測驗開始】