Как передать входные данные модуля при вызове его из файла index.js - PullRequest
0 голосов
/ 24 июня 2018

Я создаю несколько пользовательских плагинов для продукта, который использует собственный модуль npm для настройки соединения и выполнения операции (чтение, запись и отправка) на эмуляторе мэйнфрейма.

Я устанавливаю соединение в index.jsфайл и хотите передать терминальную переменную в отдельный модуль при вызове его

фрагмент index.js

    var terminal;
    const mainframeTerminal =require(‘private_module’);
    const accountDetailsModule =require('./src/accountDetails');

    terminal = private_module.connect('11.11.11.1:789');
    let screen = await terminal.status();
    // expose module from index.js file so that it can be consumes in product
    export.getAccountDetails = accountDetailsModule.getAccountDetails(terminal) 

accountDetails.js

module.exports.getAccountDetails = async function(terminal){   
    //perform some operation with termianl var - passed from index file
    return data;
    }

Я получаю ниже ошибки экспорта.getAccountDetails = accountDetailsModule.getAccountDetails не является функцией.Мне также нужно передать ввод данных, но на данный момент это не требуется. Хотелось бы знать, как функция node.js будет понимать отображение, если мне просто нужно передать кому-либо только входные данные.

Пожалуйста, скажите некоторые входные данные,Я новичок в кодировании.

1 Ответ

0 голосов
/ 24 июня 2018

как это

index.js

const mainframeTerminal =require('private_module');
const accountDetailsModule = require('./src/accountDetails');

const terminal = private_module.connect('11.11.11.1:789');
let screen = await terminal.status();

// expose module from index.js
exports = accountDetailsModule(terminal);

accountDetails.js

const getAccountDetails = async (terminal) => {
    // perform some operation
    return data;
}

exports = getAccountDetails;

В CommonJS модули являются просто способом назначения переменных. Итак, что вы получаете в index.js, когда вы require('./src/accountDetails') - это именно то, что вы экспортируете в accountDetails.js (значение getAccountDetails, которое является асинхронной функцией, принимающей один аргумент).

runMyCode.js

Вот как можно назвать свой код ...

const mainframeTerminal =require('private_module');
const accountDetailsModule = require('./src/accountDetails');

const terminal = private_module.connect('11.11.11.1:789');
let screen = await terminal.status();

// run the code a print the result to console
accountDetailsModule(terminal).then(console.log);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...