annotate xml/en/docs/njs/index.xml @ 3007:3184864bbb3f

Added SharedDict to njs Reference.
author Yaroslav Zhuravlev <yar@nginx.com>
date Wed, 16 Aug 2023 12:12:22 +0100
parents cc475ba7d406
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
1 <?xml version="1.0"?>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
2
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
3 <!--
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
4 Copyright (C) Nginx, Inc.
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
5 -->
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
6
2244
467aef18bf12 Renamed the "About njs" page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2229
diff changeset
7 <!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
8
2244
467aef18bf12 Renamed the "About njs" page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2229
diff changeset
9 <article name="njs scripting language"
467aef18bf12 Renamed the "About njs" page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2229
diff changeset
10 link="/en/docs/njs/index.html"
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
11 lang="en"
2984
cc475ba7d406 Added Preload Objects article in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2924
diff changeset
12 rev="34"
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
13 toc="no">
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
14
2270
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
15 <section id="summary">
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
16
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
17 <para>
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
18 njs is a subset of the JavaScript language that allows
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
19 extending nginx functionality.
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
20 njs is created in compliance with
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
21 <link url="http://www.ecma-international.org/ecma-262/5.1/">ECMAScript 5.1</link>
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
22 (strict mode) with some
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
23 <link url="http://www.ecma-international.org/ecma-262/6.0/">ECMAScript 6</link>
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
24 and later extensions.
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
25 The compliance is still <link doc="compatibility.xml">evolving</link>.
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
26 </para>
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
27
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
28 </section>
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
29
cd9934924920 Moved summary to top of njs index page.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2263
diff changeset
30
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
31 <section id="links">
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
32
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
33 <para>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
34 <list type="bullet">
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
35
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
36 <listitem>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
37 <link doc="install.xml"/>
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
38 </listitem>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
39
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
40 <listitem>
2246
32ba43abf9cd Renamed njs API, njs Changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2245
diff changeset
41 <link doc="changes.xml"/>
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
42 </listitem>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
43
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
44 <listitem>
2246
32ba43abf9cd Renamed njs API, njs Changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2245
diff changeset
45 <link doc="reference.xml"/>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
46 </listitem>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
47
2004
d1a1253a570e Documented Object methods, exponential and hex literals in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1955
diff changeset
48 <listitem>
2804
8831b3d9f332 Moved njs Examples to GitHub.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2556
diff changeset
49 <link url="https://github.com/nginx/njs-examples/">Examples</link>
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
50 </listitem>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
51
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
52 <listitem>
2924
bd8482c5a7fe Added "Security" section in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2804
diff changeset
53 <link doc="security.xml"/>
bd8482c5a7fe Added "Security" section in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2804
diff changeset
54 </listitem>
bd8482c5a7fe Added "Security" section in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2804
diff changeset
55
bd8482c5a7fe Added "Security" section in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2804
diff changeset
56 <listitem>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
57 <link doc="compatibility.xml"/>
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
58 </listitem>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
59
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
60 <listitem>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
61 <link doc="cli.xml"/>
2071
838c503fd2f7 Documented JSON object support for njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2026
diff changeset
62 </listitem>
838c503fd2f7 Documented JSON object support for njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2026
diff changeset
63
2555
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
64 <listitem>
2984
cc475ba7d406 Added Preload Objects article in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2924
diff changeset
65 <link doc="preload_objects.xml"/>
cc475ba7d406 Added Preload Objects article in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2924
diff changeset
66 </listitem>
cc475ba7d406 Added Preload Objects article in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2924
diff changeset
67
cc475ba7d406 Added Preload Objects article in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2924
diff changeset
68 <listitem>
2555
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
69 <link id="tested_os_and_platforms">Tested OS and platforms</link>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
70 </listitem>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
71
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
72 </list>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
73 </para>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
74
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
75 <para>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
76 <list type="bullet">
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
77
2071
838c503fd2f7 Documented JSON object support for njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2026
diff changeset
78 <listitem>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
79 <link doc="../http/ngx_http_js_module.xml">
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
80 ngx_http_js_module</link>
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
81 </listitem>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
82
2076
07239ff77f50 Updated supported functionality for nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2071
diff changeset
83 <listitem>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
84 <link doc="../stream/ngx_stream_js_module.xml">
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
85 ngx_stream_js_module</link>
2129
4212f4520070 Updated "About njs" with methods supported in njs-0.2.0.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2128
diff changeset
86 </listitem>
4212f4520070 Updated "About njs" with methods supported in njs-0.2.0.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2128
diff changeset
87
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
88 </list>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
89 </para>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
90
2541
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
91 <para>
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
92 <list type="bullet">
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
93
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
94 <listitem>
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
95 <link doc="typescript.xml"/>
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
96 </listitem>
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
97
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
98 <listitem>
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
99 <link doc="node_modules.xml"/>
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
100 </listitem>
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
101
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
102 </list>
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
103 </para>
0e6bbd8138c4 Added article about TypeScript in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2480
diff changeset
104
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
105 </section>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
106
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
107
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
108 <section id="usecases" name="Use cases">
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
109
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
110 <para>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
111 <list type="bullet">
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
112
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
113 <listitem>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
114 Complex access control and security checks in njs
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
115 before a request reaches an upstream server
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
116 </listitem>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
117
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
118 <listitem>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
119 Manipulating response headers
2150
af5751930f95 Described new Function() as not supported in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2148
diff changeset
120 </listitem>
af5751930f95 Described new Function() as not supported in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2148
diff changeset
121
af5751930f95 Described new Function() as not supported in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2148
diff changeset
122 <listitem>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
123 Writing flexible asynchronous content handlers and filters
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
124 </listitem>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
125
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
126 </list>
2804
8831b3d9f332 Moved njs Examples to GitHub.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2556
diff changeset
127 See <link url="https://github.com/nginx/njs-examples/">examples</link> and
2280
dce69c8e4c7d A link to the njs blogposts fixed.
Maxim Konovalov <maxim@nginx.com>
parents: 2270
diff changeset
128 <link url="https://www.nginx.com/blog/tag/nginx-javascript-module/">blog posts</link>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
129 for more njs use cases.
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
130 </para>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
131
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
132 </section>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
133
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
134
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
135 <section id="example" name="Basic HTTP Example">
2130
302fbdd94a04 Added njs changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2129
diff changeset
136
302fbdd94a04 Added njs changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2129
diff changeset
137 <para>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
138 To use njs in nginx:
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
139 <list type="bullet">
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
140
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
141 <listitem>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
142 <para>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
143 <link doc="install.xml">install</link> njs scripting language
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
144 </para>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
145 </listitem>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
146
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
147 <listitem id="hello_world">
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
148 <para>
2556
c81b1fadbcf3 Updated hello_world example in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2555
diff changeset
149 create an njs script file, for example, <path>http.js</path>.
2246
32ba43abf9cd Renamed njs API, njs Changes.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2245
diff changeset
150 See <link doc="reference.xml">Reference</link>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
151 for the list of njs properties and methods.
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
152 <example>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
153 function hello(r) {
2257
8cef5ef98336 Changed quotes to ASCII in NJS example.
Nick Shadrin <nick@nginx.com>
parents: 2246
diff changeset
154 r.return(200, "Hello world!");
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
155 }
2556
c81b1fadbcf3 Updated hello_world example in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2555
diff changeset
156
c81b1fadbcf3 Updated hello_world example in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2555
diff changeset
157 export default {hello};
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
158 </example>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
159 </para>
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
160 </listitem>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
161
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
162 <listitem>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
163
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
164 <para>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
165 in the <path>nginx.conf</path> file, enable
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
166 <link doc="../http/ngx_http_js_module.xml">ngx_http_js_module</link> module
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
167 and specify the
2556
c81b1fadbcf3 Updated hello_world example in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2555
diff changeset
168 <link doc="../http/ngx_http_js_module.xml" id="js_import">js_import</link>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
169 directive
2556
c81b1fadbcf3 Updated hello_world example in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2555
diff changeset
170 with the <path>http.js</path> script file:
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
171 <example>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
172 load_module modules/ngx_http_js_module.so;
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
173
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
174 events {}
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
175
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
176 http {
2556
c81b1fadbcf3 Updated hello_world example in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2555
diff changeset
177 js_import http.js;
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
178
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
179 server {
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
180 listen 8000;
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
181
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
182 location / {
2556
c81b1fadbcf3 Updated hello_world example in njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2555
diff changeset
183 js_content http.hello;
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
184 }
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
185 }
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
186 }
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
187 </example>
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
188 </para>
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
189 </listitem>
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
190
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
191 </list>
2245
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
192 There is also a standalone <link doc="cli.xml">command line</link> utility
87a0e2c73a25 Refactored njs documentation.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2244
diff changeset
193 that can be used independently of nginx for njs development and debugging.
2174
3b782a679237 Mentioned njs CLI in "About njs".
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2150
diff changeset
194 </para>
3b782a679237 Mentioned njs CLI in "About njs".
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2150
diff changeset
195
3b782a679237 Mentioned njs CLI in "About njs".
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2150
diff changeset
196 </section>
3b782a679237 Mentioned njs CLI in "About njs".
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2150
diff changeset
197
2263
1bec6f727a84 Added njs presentation from nginx.conf 2018.
Valentin Bartenev <vbart@nginx.com>
parents: 2257
diff changeset
198
2555
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
199 <section id="tested_os_and_platforms"
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
200 name="Tested OS and platforms">
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
201
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
202 <para>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
203 <list type="bullet">
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
204
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
205 <listitem>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
206 FreeBSD / amd64;
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
207 </listitem>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
208
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
209 <listitem>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
210 Linux / x86, amd64, arm64, ppc64el;
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
211 </listitem>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
212
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
213 <listitem>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
214 Solaris 11 / amd64;
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
215 </listitem>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
216
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
217 <listitem>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
218 macOS / x86_64;
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
219 </listitem>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
220
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
221 </list>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
222 </para>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
223
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
224 </section>
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
225
5b2764724e0d Added list of supported OSes to njs.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 2541
diff changeset
226
2263
1bec6f727a84 Added njs presentation from nginx.conf 2018.
Valentin Bartenev <vbart@nginx.com>
parents: 2257
diff changeset
227 <section id="presentation" name="Presentation at nginx.conf 2018">
1bec6f727a84 Added njs presentation from nginx.conf 2018.
Valentin Bartenev <vbart@nginx.com>
parents: 2257
diff changeset
228
1bec6f727a84 Added njs presentation from nginx.conf 2018.
Valentin Bartenev <vbart@nginx.com>
parents: 2257
diff changeset
229 <para><video id="Jc_L6UffFOs" /></para>
1bec6f727a84 Added njs presentation from nginx.conf 2018.
Valentin Bartenev <vbart@nginx.com>
parents: 2257
diff changeset
230
1bec6f727a84 Added njs presentation from nginx.conf 2018.
Valentin Bartenev <vbart@nginx.com>
parents: 2257
diff changeset
231 </section>
1bec6f727a84 Added njs presentation from nginx.conf 2018.
Valentin Bartenev <vbart@nginx.com>
parents: 2257
diff changeset
232
1846
bfac366fa1e4 Added article about nginScript.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff changeset
233 </article>