Переход на импортирование модулей

Возникла необходимость подключить модуль однако на клиенте запрещено использовать require. Поскольку смешивать require и import нельзя решил во всём проекте заменить импорты. Получаю ошибки множественные ошибки, не могу понять что делаю не так. Есть 2 файла:

index.js

import express from 'express';
import * as router from './router.js';
const app = express();
app.use(router); // тут падает ошибка, описание в конце

router.js

import express from 'express';
const router = express.Router();
router.get('/', (_request, response) => {
    response.sendFile(`${__dirname}/html/index.html`);
});
module.exports = router;

Ошибка следующая:

TypeError: app.use() requires a middleware function

Вопрос: как нужно правильно экспортировать и импортировать файлы, функции?

Дополнение

файл cookies.js

export function setCookie(name, value, options = {}) {
   // ...
}
export function getCookie(request, name) {
   // ...
}

На сервере работает getCookie, к нему вопросов нет. На клиенте нужен setCookie, подключаю его через html:

<script type="module" src="/js/cookies/cookies.js" defer></script>

Подключен также файл скрипта для страницы:

<script src="/js/cookies/home.js" defer></script>

Саму функцию вызываю из home.js используя setCookie('USER', result[0].id, false). Пишет об ошибке

ReferenceError: setCookie is not defined

Как тогда нужно подключать файл с клиента?


Ответы (1 шт):

Автор решения: dresser
import express from 'express';
import {router} from './router.js';

const app = express();
app.use(router); // если middleware правильно написали, ошибки быть не должно

import express from 'express';

export const router = express.Router();

router.get('/', (_request, response) => {
    response.sendFile(`${__dirname}/html/index.html`);
});
→ Ссылка