njs 0.4.0 เจฐเฉ€เจฒเฉ€เจœเจผ. เจฐเฉˆเจ‚เจฌเจฒเจฐ เจจเฉ‡ Nginx เจฆเฉ‡ เจ–เจฟเจฒเจพเจซ เจ…เจชเจฐเจพเจงเจฟเจ• เจ•เฉ‡เจธ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจชเจŸเฉ€เจธเจผเจจ เจญเฉ‡เจœเฉ€

Nginx เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจชเฉเจฐเจ•เจพเจธเจผเจค JavaScript เจญเจพเจธเจผเจพ เจฆเฉเจญเจพเจธเจผเฉ€เจ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ - njs 0.4.0. njs เจฆเฉเจญเจพเจธเจผเฉ€เจ ECMAScript เจฎเจฟเจ†เจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ 'เจคเฉ‡ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจจ เจฒเจˆ Nginx เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚, เจ‡เฉฑเจ• เจธเฉฐเจฐเจšเจจเจพ เจคเจฟเจ†เจฐ เจ•เจฐเจจ, เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจœเจตเจพเจฌ เจฌเจฃเจพเจ‰เจฃ, เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€/เจœเจตเจพเจฌ เจจเฉ‚เฉฐ เจธเฉ‹เจงเจฃ, เจœเจพเจ‚ เจตเฉˆเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจธเจŸเฉฑเจฌ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ‰เฉฑเจจเจค เจคเจฐเจ• เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจจเจตเฉ€เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผ เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆ js_import เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจœเจพเจ‚ เจŸเจฟเจ•เจพเจฃเจพ เจนเฉˆเจ‚เจกเจฒเจฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ JavaScript เจฎเฉ‹เจกเฉ€เจŠเจฒ เจ†เจฏเจพเจค เจ•เจฐเจจ เจฒเจˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, foo.js เจฎเฉ‹เจกเฉ€เจŠเจฒ เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจซเฉฐเจ•เจธเจผเจจ เจฌเจพเจฐ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจฟเจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ–เจพเจธ เจฎเจพเจฐเจ— เจฆเฉ‡ เจธเจฌเฉฐเจง เจตเจฟเฉฑเจš เจ•เจฟเจนเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

foo.js:

เจซเฉฐเจ•เจธเจผเจจ เจชเฉฑเจŸเฉ€(r) {
r.return(200);
}

เจจเจฟเจฐเจฏเจพเจค เจฎเฉ‚เจฒ {bar};

nginx.conf:

js_import foo.js;

เจธเจฅเจพเจจ / {
js_content foo.bar;
}

เจฆเฉ€ เจธเจนเฉ‚เจฒเจค เจตเจฟเฉฑเจš r.headersOut เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจฒเจˆ เจœเฉ‹เฉœเจฟเจ† เจธเจฎเจฐเจฅเจจ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ•เจˆ เจฎเฉเฉฑเจฒ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ:

เจซเฉฐเจ•เจธเจผเจจ เจธเจฎเฉฑเจ—เจฐเฉ€(r) {
r.headersOut['Set-Cookie'] = [
'foo = 111; เจ…เจงเจฟเจ•เจคเจฎ-เจ‰เจฎเจฐ = 3600; เจฎเจพเจฐเจ— =/',
'เจฌเจพเจฐ = qqq; เจ…เจงเจฟเจ•เจคเจฎ-เจ‰เจฎเจฐ = 86400; เจฎเจพเจฐเจ— =/'
];

r.return(200);
}

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจน เจจเฉ‹เจŸ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจธเฉเจจเฉ‡เจนเจพ เจฐเฉˆเจ‚เจฌเจฒเจฐ เจ—เจฐเฉเฉฑเจช เจ•เฉฐเจชเจจเฉ€ เจฌเจพเจฐเฉ‡ เจฆเจฟเจธเจผเจพ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจ…เจงเจฟเจ•เจพเจฐเจค เจชเจŸเฉ€เจธเจผเจจ เจฆเฉ€ เจœเจพเจ‚เจš เจ…เจงเจฟเจ•เจพเจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ…เจชเจฐเจพเจงเจ• เจฎเจพเจฎเจฒเฉ‡Nginx เจจเจพเจฒ เจธเจฌเฉฐเจงเจค. เจชเจŸเฉ€เจธเจผเจจ เจจเฉ‚เฉฐ เจซเจพเจ‚เจธเฉ€ เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจตเจœเฉ‹เจ‚ เจญเฉ‡เจœเจฟเจ† เจ—เจฟเจ† เจธเฉ€ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจฆเจธเฉฐเจฌเจฐ เจตเจฟเฉฑเจš, เจฐเฉˆเจ‚เจฌเจฒเจฐ เจ—เจฐเฉเฉฑเจช เจฆเฉ‡ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจ• เจฌเฉ‹เจฐเจก เจฆเจพ เจซเฉˆเจธเจฒเจพ Nginx เจจเจพเจฒ เจธเจฟเจตเจฒ เจ•เจพเจจเฉ‚เฉฐเจจ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจ•เจพเจฐเจตเจพเจˆ เจจเฉ‚เฉฐ เจคเจฌเจฆเฉ€เจฒ เจ•เจฐเจจ เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจน เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ เจ•เจพเจจเฉ‚เฉฐเจจ เจซเจฐเจฎ เจฒเจฟเจจเจตเฉเฉฑเจก เจ‡เจจเจตเฉˆเจธเจŸเจฎเฉˆเจ‚เจŸเจธ เจธเฉ€เจตเจพเจˆ เจฒเจฟเจฎเจŸเจฟเจก เจจเจพเจฒ เจ‡เจ•เจฐเจพเจฐเจจเจพเจฎเจพ, เจœเจฟเจธ เจจเฉ‡ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจฐเฉˆเจ‚เจฌเจฒเจฐ เจฆเฉ€ เจคเจฐเจซเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจ เจตเจพเจฒเฉ€เจ†เจ‚ เจ•เจพเจจเฉ‚เฉฐเจจ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจพเจฒเฉ€เจ†เจ‚ เจเจœเฉฐเจธเฉ€เจ†เจ‚ เจจเจพเจฒ เจธเฉฐเจชเจฐเจ• เจ•เฉ€เจคเจพ เจธเฉ€, เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจฆเจฟเจฒเจšเจธเจช เจ—เฉฑเจฒ เจ‡เจน เจนเฉˆ เจ•เจฟ, เจ‡เจ•เจฐเจพเจฐเจจเจพเจฎเฉ‡ เจฆเฉ€ เจธเจฎเจพเจชเจคเฉ€ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ, Lynwood Investments CY Ltd เจจเฉ‡ เจ†เจชเจฃเฉ€ เจคเจฐเจซเฉ‹เจ‚ เจ…เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจนเจฟเฉฑเจคเจพเจ‚ เจตเจฟเฉฑเจš NGINX เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจนเจฐเจœเจพเจจเฉ‡ เจ…เจคเฉ‡ เจฎเฉเจ†เจตเจœเจผเฉ‡ เจจเฉ‚เฉฐ เจธเจพเจฌเจค เจ•เจฐเจจ เจฆเจพ เจ…เจงเจฟเจ•เจพเจฐ เจฌเจฐเจ•เจฐเจพเจฐ เจฐเฉฑเจ–เจฟเจ†, เจชเจฐ เจฐเฉˆเจ‚เจฌเจฒเจฐ เจฆเฉ€ เจคเจฐเจซเฉ‹เจ‚ เจ•เฉ‹เจˆ เจ•เจพเจฐเฉ‹เจฌเจพเจฐ เจ•เจฐเจจ เจฆเจพ เจ…เจงเจฟเจ•เจพเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจธเจฎเฉ‚เจน. เจจเจพเจฒ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจธเฉˆเจ‚เจŸเจฐ เจซเจพเจฐ เจกเจฟเจœเฉ€เจŸเจฒ เจฐเจพเจˆเจŸเจธ เจฆเฉ‡ เจตเจ•เฉ€เจฒ เจคเฉ‹เจ‚, เจฐเฉˆเจฎเจฌเจฒเจฐ เจฆเฉ€ เจชเจŸเฉ€เจธเจผเจจ เจตเฉˆเจง เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เฉฑเจ• เจซเฉŒเจœเจฆเจพเจฐเฉ€ เจ•เฉ‡เจธ เจธเจฟเจฐเจซ เจงเจฟเจฐเจพเจ‚ เจฆเฉ‡ เจธเฉเจฒเฉเจนเจพ-เจธเจซเจพเจˆ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจ–เจคเจฎ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ - เจ…เจชเจฐเจพเจงเจฟเจ• เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ•เจพเจฐเจชเจธ เจกเฉˆเจฒเฉ€เจ•เจŸเฉ€ เจฆเฉ€ เจ—เฉˆเจฐ-เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ…เจฆเจพเจฒเจค เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจนเฉˆเฅค เจœเจพเจ‚เจš เจ…เจงเจฟเจ•เจพเจฐเฉ€เฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹