Mercurial > hg > nginx-site
comparison xml/ru/docs/stream/ngx_stream_js_module.xml @ 2530:407c5bd5bffc
Documented the js_import directive and corresponding changes.
Also the following changes:
- js_include is deprecated
- js_access, js_content, js_filter, js_preread, js_set
can now accept module.function
- Example Configuration changed for both http and stream js modules.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Wed, 22 Apr 2020 16:54:11 +0100 |
parents | 1101e24c6d14 |
children | 617bc29bd759 |
comparison
equal
deleted
inserted
replaced
2529:8cc141e0460f | 2530:407c5bd5bffc |
---|---|
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> | 7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> |
8 | 8 |
9 <module name="Модуль ngx_stream_js_module" | 9 <module name="Модуль ngx_stream_js_module" |
10 link="/ru/docs/stream/ngx_stream_js_module.html" | 10 link="/ru/docs/stream/ngx_stream_js_module.html" |
11 lang="ru" | 11 lang="ru" |
12 rev="17"> | 12 rev="18"> |
13 | 13 |
14 <section id="summary"> | 14 <section id="summary"> |
15 | 15 |
16 <para> | 16 <para> |
17 Модуль <literal>ngx_stream_js_module</literal> позволяет задавать | 17 Модуль <literal>ngx_stream_js_module</literal> позволяет задавать |
29 | 29 |
30 | 30 |
31 <section id="example" name="Пример конфигурации"> | 31 <section id="example" name="Пример конфигурации"> |
32 | 32 |
33 <para> | 33 <para> |
34 Пример работает начиная с версии | |
35 <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link>. | |
34 <example> | 36 <example> |
35 load_module modules/ngx_stream_js_module.so; | 37 load_module modules/ngx_stream_js_module.so; |
36 ... | 38 ... |
37 | 39 |
38 stream { | 40 stream { |
39 js_include stream.js; | 41 js_import stream.js; |
40 | 42 |
41 js_set $bar bar; | 43 js_set $bar stream.bar; |
42 js_set $req_line req_line; | 44 js_set $req_line stream.req_line; |
43 | 45 |
44 server { | 46 server { |
45 listen 12345; | 47 listen 12345; |
46 | 48 |
47 js_preread preread; | 49 js_preread stream.preread; |
48 return $req_line; | 50 return $req_line; |
49 } | 51 } |
50 | 52 |
51 server { | 53 server { |
52 listen 12346; | 54 listen 12346; |
53 | 55 |
54 js_access access; | 56 js_access stream.access; |
55 proxy_pass 127.0.0.1:8000; | 57 proxy_pass 127.0.0.1:8000; |
56 js_filter header_inject; | 58 js_filter stream.header_inject; |
57 } | 59 } |
58 } | 60 } |
59 | 61 |
60 http { | 62 http { |
61 server { | 63 server { |
119 return; | 121 return; |
120 } | 122 } |
121 | 123 |
122 s.allow(); | 124 s.allow(); |
123 } | 125 } |
126 | |
127 export default {bar, preread, req_line, access}; | |
124 </example> | 128 </example> |
125 </para> | 129 </para> |
126 | 130 |
127 </section> | 131 </section> |
128 | 132 |
129 | 133 |
130 <section id="directives" name="Директивы"> | 134 <section id="directives" name="Директивы"> |
131 | 135 |
132 <directive name="js_access"> | 136 <directive name="js_access"> |
133 <syntax><value>функция</value></syntax> | 137 <syntax><value>функция</value> | <value>модуль.функция</value></syntax> |
134 <default/> | 138 <default/> |
135 <context>stream</context> | 139 <context>stream</context> |
136 <context>server</context> | 140 <context>server</context> |
137 | 141 |
138 <para> | 142 <para> |
139 Задаёт функцию njs, которая будет вызываться в | 143 Задаёт функцию njs, которая будет вызываться в |
140 <link doc="stream_processing.xml" id="access_phase">access</link>-фазе. | 144 <link doc="stream_processing.xml" id="access_phase">access</link>-фазе. |
145 Начиная с <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link> | |
146 можно ссылаться на функцию модуля. | |
141 </para> | 147 </para> |
142 | 148 |
143 </directive> | 149 </directive> |
144 | 150 |
145 | 151 |
146 <directive name="js_filter"> | 152 <directive name="js_filter"> |
147 <syntax><value>функция</value></syntax> | 153 <syntax><value>функция</value> | <value>модуль.функция</value></syntax> |
148 <default/> | 154 <default/> |
149 <context>stream</context> | 155 <context>stream</context> |
150 <context>server</context> | 156 <context>server</context> |
151 | 157 |
152 <para> | 158 <para> |
153 Задаёт фильтр данных. | 159 Задаёт фильтр данных. |
160 Начиная с <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link> | |
161 можно ссылаться на функцию модуля. | |
162 </para> | |
163 | |
164 </directive> | |
165 | |
166 | |
167 <directive name="js_import"> | |
168 <syntax><value>модуль.js</value> | | |
169 <value>имя_экспорта из модуль.js</value></syntax> | |
170 <default/> | |
171 <context>stream</context> | |
172 <appeared-in>0.4.0</appeared-in> | |
173 | |
174 <para> | |
175 Импортирует модуль, позволяющий задавать обработчики location и переменных | |
176 на njs. | |
177 <literal>Имя_экспорта</literal> является пространством имён | |
178 при доступе к функциям модуля. | |
179 Если <literal>имя_экспорта</literal> не задано, | |
180 то пространством имён будет являться имя модуля. | |
181 <example> | |
182 js_import stream.js; | |
183 </example> | |
184 В примере при доступе к экспорту в качестве | |
185 пространства имён используется имя модуля <literal>stream</literal>. | |
186 Если импортируемый модуль содержит <literal>foo()</literal>, | |
187 то для доступа используется <literal>stream.foo</literal>. | |
188 </para> | |
189 | |
190 <para> | |
191 Директив <literal>js_import</literal> может быть несколько. | |
154 </para> | 192 </para> |
155 | 193 |
156 </directive> | 194 </directive> |
157 | 195 |
158 | 196 |
160 <syntax><value>файл</value></syntax> | 198 <syntax><value>файл</value></syntax> |
161 <default/> | 199 <default/> |
162 <context>stream</context> | 200 <context>stream</context> |
163 | 201 |
164 <para> | 202 <para> |
165 Задаёт файл, который позволяет | 203 Задаёт файл, который позволяет задавать обработчики server и переменных на njs: |
166 задавать обработчики server и переменных на njs. | 204 <example> |
205 nginx.conf: | |
206 js_include stream.js; | |
207 js_set $js_addr address; | |
208 server { | |
209 listen 127.0.0.1:12345; | |
210 return $js_addr; | |
211 } | |
212 | |
213 stream.js: | |
214 function address(s) { | |
215 return s.remoteAddress; | |
216 } | |
217 </example> | |
218 </para> | |
219 | |
220 <para> | |
221 Директива устарела начиная с | |
222 <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link>, | |
223 вместо неё следует использовать директиву <link id="js_import"/>. | |
167 </para> | 224 </para> |
168 | 225 |
169 </directive> | 226 </directive> |
170 | 227 |
171 | 228 |
172 <directive name="js_preread"> | 229 <directive name="js_preread"> |
173 <syntax><value>функция</value></syntax> | 230 <syntax><value>функция</value> | <value>модуль.функция</value></syntax> |
174 <default/> | 231 <default/> |
175 <context>stream</context> | 232 <context>stream</context> |
176 <context>server</context> | 233 <context>server</context> |
177 | 234 |
178 <para> | 235 <para> |
179 Задаёт функцию njs, которая будет вызываться в | 236 Задаёт функцию njs, которая будет вызываться в |
180 <link doc="stream_processing.xml" id="preread_phase">preread</link>-фазе. | 237 <link doc="stream_processing.xml" id="preread_phase">preread</link>-фазе. |
238 Начиная с <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link> | |
239 можно ссылаться на функцию модуля. | |
181 </para> | 240 </para> |
182 | 241 |
183 </directive> | 242 </directive> |
184 | 243 |
185 | 244 |
197 </directive> | 256 </directive> |
198 | 257 |
199 | 258 |
200 <directive name="js_set"> | 259 <directive name="js_set"> |
201 <syntax> | 260 <syntax> |
202 <value>$переменная</value> <value>функция</value></syntax> | 261 <value>$переменная</value> <value>функция</value> | |
262 <value>модуль.функция</value></syntax> | |
203 <default/> | 263 <default/> |
204 <context>stream</context> | 264 <context>stream</context> |
205 | 265 |
206 <para> | 266 <para> |
207 Задаёт функцию njs для указанной переменной. | 267 Задаёт функцию njs для указанной переменной. |
268 Начиная с <link doc="../njs/changes.xml" id="njs0.4.0">0.4.0</link> | |
269 можно ссылаться на функцию модуля. | |
208 </para> | 270 </para> |
209 | 271 |
210 </directive> | 272 </directive> |
211 | 273 |
212 </section> | 274 </section> |