Как импортировать js?
Два файла рядом, import ругается, подскажите обычное подключение модуля.
Работа и карьера
Программирование
Компьютеры и связь
Учёба и образование
Развлечения
Ваш вопрос
Два файла рядом, import ругается, подскажите обычное подключение модуля.
Импорт JavaScript обычно означает подключение экспортированных значений из другого модуля. Для простого примера создайте math.js со строкой export const double = n => n * 2;. В соседнем app.js напишите import { double } from './math.js'; и затем console.log(double(4));. Фигурные скобки в этом случае соответствуют именованному экспорту. Если в исходном модуле использован export default, форма импорта будет другой, поэтому сначала посмотрите, что именно экспортируется. В браузере app.js должен быть подключен модульным тегом script с атрибутом type, равным module. Проверять такой проект лучше через локальный HTTP-сервер: открытие файлов напрямую может встретить ограничения загрузки модулей. Расширение файла и правильный MIME-тип ответа сервера тоже имеют значение. В Node.js выбор режима зависит от настройки проекта и расширений файлов. Явное поле type со значением module в package.json позволяет обозначить ESM для соответствующих .js-файлов проекта. Расширение .mjs тоже используется для модулей ESM. При этом изменение type в уже существующем большом проекте способно затронуть другие файлы, поэтому не делайте его только ради исчезновения одной ошибки, не прочитав структуру проекта. Сообщение Cannot use import statement outside a module обычно указывает на несоответствие режима запуска, а ошибка о ненайденном экспорте — на другое имя или вид экспорта. Начните с двух собственных файлов и одного значения. После успешного примера переходите к пакетам и настройкам сборщика: у них могут быть дополнительные правила разрешения имен и путей.
В файле-источнике нужно экспортировать значение, а во втором файле — импортировать его. Например, в math.js запишите export const double = n => n * 2;, а в app.js — import { double } from './math.js';. После этого можно вызвать double(4).
В браузере подключите входной файл через <script type="module" src="./app.js"></script> и выдавайте страницу с файлами через локальный сервер. Обычный script без модульного режима не подходит для такого статического import.
В Node.js настройте ESM явно: например, используйте соответствующее поле "type": "module" в package.json проекта или расширение .mjs. Не смешивайте механически ESM и CommonJS. Путь, имя экспорта и выбранный режим должны соответствовать друг другу.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
4.1 Fast
4.1 Fast
Как импортировать js?
Экспортируйте значение из первого файла и импортируйте его во втором. Для браузера нужен
type="module", для Node.js — согласованная настройка модулей проекта.