Guide 開髮指南

hello, world

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

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

保存文件 main.jsfibjs 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, worldhello, 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

運行後,我們訪問http://127.0.0.1:8080/hello/fibjshello, fibjs

增加模塊解耦能力

接下來,我們來讓服務器更複雜一些。我們有一組hello 服務,完成我們定義的業務請求。這組服務的路徑由主服務根據需求指定。下面這個例子中,hellobonjour

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

👉 【