У меня есть два файла: один между 1.js и второй — import.js. Между 1.js у меня появилось несколько функций, и одну из функций я перенес в import.js. Упражнение, которое я получил, состоит в том, чтобы использовать модуль и требовать функцию. У меня все еще есть проблема, как использовать требование между 1.js. См. код ниже
Между1.js код: https://codeshare.io/alxMvY
импорт.js: https://codeshare.io/244yg4
Я новичок в js и node. У меня есть функция в import.js, а в нижней части кода находится module.exports, что означает экспорт модуля, а во втором файле между 1.js я пытаюсь сначала импортировать функцию: пусть утилиты = требуют("./import.js"); И внизу пытаюсь получить функцию, но проблема в том, что я действительно не знаю, как это сделать. Я пытался, как раньше вставлял в код, но это не работает
Я хочу, чтобы кто-нибудь помог мне объяснить, как требовать и работать с модулем.
Код import.js:
/**
* Module.
*
* Matteus Urbaniak
*/
"use strict";
function teacherAsTable(res) {
let str;
str = "+-----------+---------------------+-----------+----------+--------------+\n";
str += "| Akronym | Namn | Avdelning | Lön | Kompetens |\n";
str += "|-----------|---------------------|-----------|----------|--------------|\n";
for (const row of res) {
str += "| ";
str += row.akronym.padEnd(10);
str += "| ";
str += (row.fornamn + " " + row.efternamn).padEnd(20);
str += "| ";
str += row.avdelning.padEnd(10);
str += "| ";
str += row.lon.toString().padStart(9);
str += "| ";
str += row.kompetens.toString().padEnd(12);
str += " |\n";
}
str += "+-----------+---------------------+-----------+----------+--------------|\n";
return str;
}
module.exports = {
"teacherAsTable": teacherAsTable
};
между1.js
/**
Arbete gjordes av Matteus Urbaniak
*/
"use strict";
/**
Jag använder programmeringsstilen med async/await
för att hantera asynkrona anrop. För det syftet väljer
jag paketet promise-mysql som är en wrapper kring paketet mysql.
*/
const mysql = require("promise-mysql");
// Inloggningsdetaljer till databasen.
const config = require("./config.json");
let utils = require("./import.js");
// Läsa från komand linje
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
/**
Main function
*/
(async function() {
const db = await mysql.createConnection(config);
let str;
rl.question("What do you want search for? (min); ", async (min) => {
rl.question("What do you want search for? (max); ", async (max) => {
str = await searchBetween(db, min, max);
console.info(str);
rl.close();
db.end();
});
});
})();
// Ge en rapport med larare details och formaterad text.
async function searchBetween(db, min, max) {
let sql;
let res;
let str;
let minimum = `${min}`;
let maximum = `${max}`;
console.info(`Searching for: ${minimum} - ${maximum}`);
sql = `
SELECT
akronym,
fornamn,
efternamn,
avdelning,
lon,
kompetens
FROM larare
WHERE
(kompetens BETWEEN ? AND ?)
OR
lon BETWEEN ? AND ?
ORDER BY akronym;
`;
res = await db.query(sql, [minimum, maximum, minimum, maximum]);
str = teacherAsTable(res);
return str;
}
// HERE SHOULD BE teacherAsTable
let res;
res = utils.teacherAsTable();
console.info(res);
teacherAsTable ожидает итерируемый параметр, и об этом говорится в сообщении об ошибке. Все, что вам нужно, чтобы это работало без ошибок, - это использовать res = utils.teacherAsTable([]);.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуйте сделать это в Between1.js:
module.exports = {teacherAsTable};
Почему? Что это делает? Куда его добавить, конкретно в файл?
@cale_b Извините за это. Сообщение было обновлено