Guide 開髮指南

hello, world

首先,你需要成功在系統中安裝了fibjs。按照慣例,我們從最簡單的"hello, world" 開始我們的第一行fibjs 程式:

1
console.log('hello, world');

儲存檔案main.js後,在命令列輸入fibjs main.js,便可以執行這段程式碼。

第一個hello 伺服器

fibjs 作為後端開發框架,內建了一個相當強大的應用程式伺服器,我們可以十分方便地迅速建立一個web server。接下來我們將建立第一個hello 伺服器:

1 2 3 4 5 6 7
const http = require('http'); var svr = new http.Server(8080, (req) => { req.response.write('hello, world'); }); svr.start();

運行後,在瀏覽器內輸入:

1
http://127.0.0.1:8080/

你可以看到我們第一個hello 伺服器的輸出hello, world

聰明一些

第一個hello 伺服器比較笨,無論你輸入什麼位址,它都只會回傳hello, world。接下來我們來讓它變得聰明一點:

1 2 3 4 5 6 7 8 9 10 11
const http = require('http'); var hello_server = { '/:name': (req, name) => { req.response.write('hello, ' + name); } }; var svr = new http.Server(8080, hello_server); svr.start();

運行後,在瀏覽器網址列內輸入:

1
http://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 13
const 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 服務,完成我們定義的業務請求。這組服務的路徑由主服務依需求指定。下面這個例子中,hellobonjour都會指向hello 的服務。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
const 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 的開發方法。

👉 【美好生活從測驗開始