#javascript #html #node.js #api #axios
Вопрос:
Когда я пытаюсь загрузить свою html-страницу, я получаю эту ошибку:
Не пойманный (в обещании) Ошибка ссылки: axios не определен в get (index.js:7)
Когда я импортирую его import axios from 'axios';
по мере получения:
Неперехваченная ошибка синтаксиса: Невозможно использовать оператор импорта вне модуля
Так что в любом случае это работает неправильно. Я тоже использовал npm install axios
и упомянул источник в html-файле:
lt;script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.23.0/axios.js"gt;lt;/scriptgt;
или
lt;script src="https://unpkg.com/axios/dist/axios.min.js"gt;lt;/scriptgt;
Я просто не замечаю, что я мог сделать не так. Вот пример сценария, как он выглядит следующим образом:
const apiUrl = 'http://localhost:8000/api/'; async function get(url) { return (await axios(url)).data; } async function loadTable() { let data = await get(apiUrl 'getList'); let tableDiv = document.getElementById('tableData'); // and so on
У меня нормально работает api, единственная проблема-это ссылка на axio. Сценарий узла работает нормально в другом файле .js, также Почтальон может идентифицировать его без проблем. Тот же порт, тот же URL.
Комментарии:
1. Вы импортировали Axios внутри модуля?
Ответ №1:
Если это HTML-страница, подобная той, которую вы открыли бы в своем браузере, npm
вы не сможете добавить Axios на страницу за вас. Вы можете рассмотреть Node.js код на стороне сервера и ваш браузер на стороне клиента (обратите внимание, что это не всегда так, но здесь это так).
Также обратите внимание, import
предназначен для Node.js код, и не будет работать в HTML-коде без дополнительного фреймворка, который, я полагаю, вы здесь не используете.
Ваши script
теги указаны правильно, но, вероятно, они не были добавлены в ваш HTML-файл в нужный момент. Вы можете использовать любую из этих конфигураций, и она должна работать:
Скрипт импортируется до создания элементов страницы:
lt;headgt; ... lt;script src="https://unpkg.com/axios/dist/axios.min.js"gt;lt;/scriptgt; ... lt;/headgt; lt;bodygt; ... lt;script src="yourCustomCode"gt;lt;/scriptgt; lt;bodygt;
Скрипт импортируется после создания элементов страницы:
lt;headgt; ... lt;/headgt; lt;bodygt; ... lt;script src="https://unpkg.com/axios/dist/axios.min.js"gt;lt;/scriptgt; lt;script src="yourCustomCode"gt;lt;/scriptgt; lt;bodygt;
В любом случае, просто убедитесь, что пакет Axios выше, чем код, который вы хотите запустить с Axios.
Комментарии:
1. да, и у меня есть узел в другом script.js как я уже упоминал, api работает нормально, Почтальон может идентифицировать его без проблем. тот же порт, та же ссылка.
2. Боже правый, я не ставил пакет Axios выше кода. Большое спасибо! Я боролся последние 2 часа.
3. @thhhhhhhh Рад, что ты это понял. Определенно был там до меня!