Привет, мир
Во-первых, вам необходимо успешно установить fibjs в вашей системе. Как обычно, мы начинаем нашу первую строку программы fibjs с самого простого «привет, мир»:
1console.log('hello, world');
main.js
После сохранения файла fibjs main.js
вы можете выполнить этот код, введя его в командной строке.
Первый привет сервер
В качестве внутренней среды разработки fibjs имеет встроенный довольно мощный сервер приложений.Мы можем очень удобно быстро создать веб-сервер. Далее мы настроим наш первый сервер приветствия:
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, world
.
Будьте умнее
Первый сервер приветствия глупый, он просто возвращает независимо от того, какой адрес вы вводите 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 в других подразделениях.