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 的開發方法。

👉 【美好生活從測試開始