#javascript #jestjs #importerror
#javascript #jestjs #importerror
Вопрос:
Я впервые задаю здесь вопрос, поэтому, пожалуйста, будьте проще со мной. Я пытался создать действительно простое приложение на javascript / html, и до сих пор я писал код javascript и тестировал в шутку. Jest настаивает на том, чтобы я экспортировал / импортировал свои файлы javascript с module.exports = {functionName}
помощью and const functionName = require('./someAddressHere');
.
До сих пор это отлично работало для тестирования, но теперь я хочу подключить свои файлы javascript в index.js и начните настраивать мои прослушиватели событий на html. Когда я пробую тот же метод импорта, я получаю Uncaught ReferenceError: require is not defined
. Я довольно новичок в веб-разработке, так что есть ли что-то, чего я здесь не понимаю, или я все делаю неправильно?
Комментарии:
1. требование не является частью стандартного ECMAScript и фактически является частью node.js , хотя существуют такие вещи, как ReqireJS
2. Я разберусь с этим — спасибо!
Ответ №1:
Используйте импорт и добавьте type="module"
в тег сценария, например:
//./data.js
export const data = {
name: 'mydata'
};
//./main.js
import * as data from './data.js';
alert(JSON.stringify(data));
// html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Import</title>
</head>
<body>
<script type="module" src="main.js"></script>
</body>
</html>
Комментарии:
1. Спасибо за ответ. Итак, моя проблема в том, что я пытаюсь передавать классы и функции во внешний интерфейс js, а не данные.
2. это просто пример, который не означает, что вы не можете использовать его с классом и функцией. Вы можете попробовать?
Ответ №2:
В итоге я использовал webpack для упаковки всех моих модулей узла и распространения на передний план.