Получение неполученной ошибки ссылки — требование не определено при попытке импортировать файл javascript

#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 для упаковки всех моих модулей узла и распространения на передний план.