Обновлено: проблема решена с помощью веб-пакета
Для нужд API мне нужно было импортировать MD5 и moment. Я загрузил пакеты, используя базовый npm install, но когда я пытаюсь импортировать их на свой app.js, используя код ниже:
const md5 = require ('./node_modules/md5/md5.js');
const moment = require ('./node_modules/moment/moment.js');
function getTimeStamp () {
return moment.utc ().format ('YYYYMMDDHHmmss');
}
let timestamp = getTimeStamp ();
function generateSignature (devId, method, authKey, timestamp) {
return md5 (`${devId}${method}${apiKey}${timestamp}`);
}
let signature = generateSignature (XXXX, "createsession", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", getTimeStamp ());
Я получаю это сообщение в консоли:
Uncaught ReferenceError: require is not defined
Я не знаю, что я делаю неправильно, потому что я использовал тот же метод для другой программы, и он работал отлично...
заранее спасибо



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


попробуй это:
const md5 = require ("md5");
const moment = require ("moment");
Вероятно, вы видите эту ошибку, потому что в браузере/клиентском JavaScript существует функция require() нет. Если вы хотите использовать require() в браузере, вам нужно использовать что-то вроде требуют.js
RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node.
PS: я согласен с cptwonton. Пожалуйста, обратитесь к упомянутому сообщению для подробного решения с различными доступными вариантами.
require не поддерживается в браузере, поскольку Node и ES6 имеют разные модульные системы. Вы пытаетесь вызвать require в браузере? В этом случае я предлагаю вам настроить Babel. Но если вы используете node, попробуйте переустановить nodejs.