Как использовать Nginx NJS с собственными модулями nodejs и webpack?

Существует руководство https://nginx.org/en/docs/njs/node_modules.html котором описано, как использовать "родные" модули nodejs с njs.

Я следил за руководством, пока не понял, что оно означает жирным шрифтом:

Обратите внимание, что в этом примере сгенерированный код не упакован в функцию,
и нам не нужно вызывать его явно. Результат находится в каталоге "dist":

$ cat dist / wp_out.js code.js> njs_dns_bundle.js

Назовем наш код в конце файла: <<< --- ЗДЕСЬ

var b = set_buffer(global.dns);
console.log (б);

И выполните его с помощью узла:

$ node./njs_dns_bundle_final.js

Вопрос в том, как мне включить / потребовать / импортировать сгенерированный веб-пакет njs_dns_bundle.js в njs_dns_bundle_final.js, который является именем Позволяет вызвать наш код в конце файла, поскольку без него я получаю сообщение об ошибке:

njs_dns_bundle_final.js:1
var b = set_buffer(global.dns);
ReferenceError: set_buffer is not defined

Мой code.js:

module.exports = {
   hello: function set_buffer(dnsPacket) {
        // create DNS packet bytes
        var buf = dnsPacket.encode({
            type: 'query',
            id: 1,
            flags: dnsPacket.RECURSION_DESIRED,
            questions: [{
                type: 'A',
                name: 'google.com'
            }]
        })

        return buf;
    }
}

Мой njs_dns_bundle_final.js:

var myModule = require('./njs_dns_bundle');

var b = myModule.hello(global.dns);
console.log(b);

Я думаю, что узел работает нормально?!:

node ./njs_dns_bundle_final.js
<Buffer 00 01 01 00 00 01 00 00 00 00 00 00 06 67 6f 6f 67 6c 65 03 63 6f 6d 00 00 01 00 01>

NJS не:

njs ./njs_dns_bundle_final.js
Thrown:
Error: Cannot find module "./njs_dns_bundle"
    at require (native)
    at main (njs_dns_bundle_final.js:1)

благодаря

0 ответов

Другие вопросы по тегам