njs 0.4.0 เดฑเดฟเดฒเต€เดธเต. เดŽเตปเดœเดฟเตปเด•เตเดธเดฟเดจเต†เดคเดฟเดฐเดพเดฏ เด•เตเดฐเดฟเดฎเดฟเดจเตฝ เด•เต‡เดธเต เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดฑเดพเด‚เดฌเตเดฒเตผ เด’เดฐเต เดจเดฟเดตเต‡เดฆเดจเด‚ เด…เดฏเดšเตเดšเต

Nginx เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเต เดœเดพเดตเดพเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดญเดพเดทเดพ เดตเตเดฏเดพเด–เตเดฏเดพเดคเดพเดตเดฟเดจเตเดฑเต† เดชเตเดฐเด•เดพเดถเดจเด‚ - njs 0.4.0. njs เดตเตเดฏเดพเด–เตเดฏเดพเดคเดพเดตเต ECMAScript เดฎเดพเดจเดฆเดฃเตเดกเด™เตเด™เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดฟเดฒเต† เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ Nginx-เดจเตเดฑเต† เด•เดดเดฟเดตเต เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดšเดฒเดจเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เด’เดฐเต เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ/เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดชเดฐเดฟเดทเตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดตเต†เดฌเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเดฟเดฒเต† เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดตเต‡เด—เดคเตเดคเดฟเตฝ เดธเตเดฑเตเดฑเดฌเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดตเดฟเดชเตเดฒเดฎเดพเดฏ เดฒเต‹เดœเดฟเด•เต เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเดฟเตฝ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.

เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต เดจเดฟเตผเดฆเตเดฆเต‡เดถเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต js_import เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฒเตŠเด•เตเด•เต‡เดทเตป เดนเดพเตปเดกเตโ€Œเดฒเดฑเตเด•เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจ JavaScript เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เตพ เด‡เดฑเด•เตเด•เตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, foo.js เดฎเตŠเดกเตเดฏเต‚เดณเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดซเด‚เด—เตเดทเตป เดฌเดพเตผ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเด‚, เด…เดคเต เด’เดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดชเดพเดคเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเต เดตเดฟเดณเดฟเด•เตเด•เดพเด‚:

foo.js:

เดซเด‚เด—เตโ€Œเดทเตป เดฌเดพเตผ(r) {
เด†เตผ.เดฑเดฟเดŸเตเดŸเต‡เตบ(200);
}

เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดกเดฟเดซเต‹เตพเดŸเตเดŸเต {bar};

nginx.conf:

js_import foo.js;

เดธเตเดฅเดฒเด‚ /
js_content foo.bar;
}

เดธเต—เด•เดฐเตเดฏเดคเตเดคเดฟเตฝ r.headersOut เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต:

เดซเด‚เด—เตโ€Œเดทเตป เด‰เดณเตเดณเดŸเด•เตเด•เด‚(r) {
r.headersOut['Set-Cookie'] = [
'foo=111; เดชเดฐเดฎเดพเดตเดงเดฟ เดชเตเดฐเดพเดฏเด‚=3600; เดชเดพเดค=/',
'เดฌเดพเตผ=qqq; เดชเดฐเดฎเดพเดตเดงเดฟ เดชเตเดฐเดพเดฏเด‚=86400; เดชเดพเดค=/'
];

เด†เตผ.เดฑเดฟเดŸเตเดŸเต‡เตบ(200);
}

เด•เต‚เดŸเดพเดคเต†, เด‡เดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต เดธเดจเตเดฆเต‡เดถเด‚ เดฑเดพเด‚เดฌเตเดฒเตผ เด—เตเดฐเต‚เดชเตเดชเต เด•เดฎเตเดชเดจเดฟเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฆเดฟเดถ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด”เดฆเตเดฏเต‹เด—เดฟเด• เดจเดฟเดตเต‡เดฆเดจเดคเตเดคเดฟเดจเตเดฑเต† เด…เดจเตเดตเต‡เดทเดฃ เด…เดงเดฟเด•เดพเดฐเดฟเด•เตพเด•เตเด•เต เด•เตเดฐเดฟเดฎเดฟเดจเตฝ เด•เต‡เดธเตNginx-เดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดตเดงเดถเดฟเด•เตเดท เดจเดŸเดชเตเดชเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฏเดพเดฃเต เดนเตผเดœเดฟ เด…เดฏเดšเตเดšเดคเต เด‡เดทเตเดฏเต‚เดšเต†เดฏเตเดคเต เดกเดฟเดธเด‚เดฌเดฑเดฟเตฝ, เดฑเดพเด‚เดฌเตเดฒเตผ เด—เตเดฐเต‚เดชเตเดชเดฟเดจเตเดฑเต† เดฌเต‹เตผเดกเต เด“เดซเต เดกเดฏเดฑเด•เตเดŸเตผเดฎเดพเดฐเตเดŸเต† เดคเต€เดฐเตเดฎเดพเดจเด‚ เดŽเตปเดœเดฟเตปเด•เตเดธเตเดฎเดพเดฏเตเดณเตเดณ เดจเดŸเดชเดŸเดฟเด•เตเดฐเดฎเด™เตเด™เตพ เดธเดฟเดตเดฟเตฝ เดจเดฟเดฏเดฎ เดฎเต‡เด–เดฒเดฏเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เด•เต‚เดŸเดพเดคเต†, เดฑเดพเด‚เดฌเตเดฒเดฑเดฟเดจเต เดตเต‡เดฃเตเดŸเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดจเดฟเดฏเดฎ เดจเดฟเตผเดตเตเดตเดนเดฃ เดเดœเตปเดธเดฟเด•เดณเตเดฎเดพเดฏเดฟ เด†เดฆเตเดฏเด‚ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดจเดฟเดฏเดฎ เดธเตเดฅเดพเดชเดจเดฎเดพเดฏ เดฒเดฟเตปเดตเตเดกเต เด‡เตปเดตเต†เดธเตเดฑเตเดฑเตโ€Œเดฎเต†เดจเตเดฑเต เดธเดฟเดตเตˆ เดฒเดฟเดฎเดฟเดฑเตเดฑเดกเตเดฎเดพเดฏเตเดณเตเดณ เด•เดฐเดพเตผ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดšเตเดšเดคเดพเดฏเดฟ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเดฃเตเดŸเต.

เด•เต—เดคเตเด•เด•เดฐเดฎเต†เดจเตเดจเต เดชเดฑเดฏเดŸเตเดŸเต†, เด•เดฐเดพเตผ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเตเด‚, เดŽเตปเดœเดฟเดŽเตปเดŽเด•เตโ€Œเดธเต เด•เต‡เดธเดฟเตฝ เดจเดพเดถเดจเดทเตเดŸเด™เตเด™เดณเตเด‚ เดจเดทเตเดŸเดชเดฐเดฟเดนเดพเดฐเดตเตเด‚ เดคเต†เดณเดฟเดฏเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด…เดตเด•เดพเดถเด‚ เดฒเดฟเตปเดตเตเดกเต เด‡เตปเดตเต†เดธเตเดฑเตเดฑเตโ€Œเดฎเต†เดจเตเดฑเต เดธเดฟเดตเตˆ เดฒเดฟเดฎเดฟเดฑเตเดฑเดกเต เดธเตเดตเดจเตเดคเด‚ เดชเต‡เดฐเดฟเดฒเตเด‚ เดธเตเดตเดจเตเดคเด‚ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเด™เตเด™เดณเดฟเดฒเตเด‚ เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเดฟ, เดŽเดจเตเดจเดพเตฝ เดฑเดพเด‚เดฌเตเดฒเดฑเดฟเดจเต เดตเต‡เดฃเตเดŸเดฟ เด’เดฐเต เดฌเดฟเดธเดฟเดจเดธเตเดธเต เดจเดŸเดคเตเดคเดพเตป เด…เดตเตผเด•เตเด•เต เด…เดตเด•เดพเดถเดฎเดฟเดฒเตเดฒ. เด—เตเดฐเต‚เดชเตเดชเต. เดŽเดดเตเดคเดฟเดฏเดคเต เดตเดฟเดตเดฐเด‚ เด•เด•เตเดทเดฟเด•เดณเตเดŸเต† เด…เดจเตเดฐเดžเตเดœเดจเดคเตเดคเดฟเดจเตเดฑเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เด’เดฐเต เด•เตเดฐเดฟเดฎเดฟเดจเตฝ เด•เต‡เดธเต เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเดฟเดจเดพเตฝ, เดฑเดพเด‚เดฌเตเดฒเดฑเตเดŸเต† เด…เดชเต‡เด•เตเดท เด•เต‡เดจเตเดฆเตเดฐเด‚ เดซเต‹เตผ เดกเดฟเดœเดฟเดฑเตเดฑเตฝ เดฑเตˆเดฑเตเดฑเตโ€Œเดธเดฟเดจเตเดฑเต† เด…เดญเดฟเดญเดพเดทเด•เดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเดพเดงเตเดคเดฏเตเดณเตเดณเดคเดฒเตเดฒ - เด•เตเดฐเดฟเดฎเดฟเดจเตฝ เด•เต‡เดธเตเด•เดณเดฟเตฝ เด•เต‹เตผเดชเตเดชเดธเต เดกเต†เดฒเดฟเด•เตเดฑเตเดฑเดฟเดฏเตเดŸเต† เด…เดญเดพเดตเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดคเต€เดฐเตเดฎเดพเดจเด‚ เด…เดงเดฟเด•เดพเดฐ เดชเดฐเดฟเดงเดฟเดฏเดฟเดฒเดพเดฃเต. เด…เดจเตเดตเต‡เดทเดฃ เด…เดงเดฟเด•เดพเดฐเดฟเด•เตพ.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•