Модули и требуют()

У меня есть два файла: один между 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);

@cale_b Извините за это. Сообщение было обновлено

Mati Urbaniak 07.02.2019 18:19
teacherAsTable ожидает итерируемый параметр, и об этом говорится в сообщении об ошибке. Все, что вам нужно, чтобы это работало без ошибок, - это использовать res = utils.teacherAsTable([]);.
Chris G 07.02.2019 18:19
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
34
1

Ответы 1

Попробуйте сделать это в Between1.js:

module.exports = {teacherAsTable};

Почему? Что это делает? Куда его добавить, конкретно в файл?

random_user_name 07.02.2019 20:09

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