view xml/ru/docs/njs/index.xml @ 2246:32ba43abf9cd

Renamed njs API, njs Changes.
author Yaroslav Zhuravlev <yar@nginx.com>
date Mon, 24 Sep 2018 19:24:04 +0300
parents 87a0e2c73a25
children 8cef5ef98336
line wrap: on
line source

<?xml version="1.0"?>

<!--
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">

<article name="Сценарный язык njs"
        link="/ru/docs/njs/index.html"
        lang="ru"
        rev="25"
        toc="no">

<section id="links">

<para>
<list type="bullet">

<listitem>
<link doc="install.xml"/>
</listitem>

<listitem>
<link doc="changes.xml">Изменения в njs</link>
</listitem>

<listitem>
<link doc="reference.xml"/>
</listitem>

<listitem>
<link doc="examples.xml"/>
</listitem>

<listitem>
<link doc="compatibility.xml"/>
</listitem>

<listitem>
<link doc="cli.xml"/>
</listitem>

</list>
</para>

<para>
<list type="bullet">

<listitem>
<link doc="../http/ngx_http_js_module.xml">
ngx_http_js_module</link>
</listitem>

<listitem>
<link doc="../stream/ngx_stream_js_module.xml">
ngx_stream_js_module</link>
</listitem>

</list>
</para>

</section>


<section id="summary">

<para>
njs - это подмножество языка JavaScript, позволяющее
расширить функциональность nginx.
njs совместим с
<link url="http://www.ecma-international.org/ecma-262/5.1/">ECMAScript 5.1</link>
(строгий режим) c некоторыми расширениями
<link url="http://www.ecma-international.org/ecma-262/6.0/">ECMAScript 6</link>
и позже.
Совместимость находится в стадии
<link doc="compatibility.xml">развития</link>.
</para>

</section>


<section id="usecases" name="Сценарии использования">

<para>
<list type="bullet">

<listitem>
Комплексное управление доступом и проверка защиты при помощи njs
до получения запроса сервером группы
</listitem>

<listitem>
Управление заголовками ответа
</listitem>

<listitem>
Создание гибких асинхронных обработчиков содержимого и фильтров
</listitem>

</list>
Подробнее о сценариях использования
см. в <link doc="examples.xml">примерах</link>
и <link url="https://www.nginx.com/blog/tag/nginscript/">блогпостах</link>.
</para>

</section>


<section id="example" name="Базовый пример HTTP">

<para>
Чтобы использовать njs в nginx, необходимо:
<list type="bullet">

<listitem>
<para>
<link doc="install.xml">установить</link> njs
</para>
</listitem>

<listitem id="hello_world">
<para>
создать файл сценария njs, например <path>hello_world.js</path>.
Описание свойств и методов языка njs
см. в <link doc="reference.xml">справочнике</link>.
<example>
function hello(r) {
    r.return(200, “Hello world!”);
}
</example>
</para>
</listitem>

<listitem>

<para>
в файле <path>nginx.conf</path> включить
модуль <link doc="../http/ngx_http_js_module.xml">ngx_http_js_module</link>
и указать директиву
<link doc="../http/ngx_http_js_module.xml" id="js_include">js_include</link>
с файлом сценария <path>hello_world.js</path>:
<example>
load_module modules/ngx_http_js_module.so;

events {}

http {
    js_include hello_world.js;

    server {
        listen 8000;

        location / {
            js_content hello;
        }
    }
}

</example>
</para>
</listitem>

</list>
 Также доступна отдельная утилита <link doc="cli.xml">командной строки</link>,
которая может использоваться независимо от nginx для разработки и отладки njs.
</para>

</section>

</article>