тег скрипта для импорта Auth0 вызывает неожиданную ошибку токена

#html #reactjs #auth0

#HTML #reactjs #auth0

Вопрос:

когда у меня был тег script

 <script type="text/javascript" src="../node_modules/auth0-js/build/auth0.js" async></script>
  

для моих веб-приложений react index.html

Я получаю сообщение об ошибке в консоли, в котором говорится

 Uncaught SyntaxError: Unexpected token <       auth0.js:1 
  

Когда я удаляю тег script, эта ошибка не отображается

Что вызывает ошибку?

Комментарии:

1. Причина ошибки, вероятно, в том, что ваш веб-сервер обслуживает какую-то страницу с ошибкой, которая начинается с <html> , которая не является допустимым javascript. Это происходит потому, что ../node_modules/auth0-js/build/auth0.js это недопустимый путь, который может разрешить ваш веб-сервер. Используете ли вы create-react-app или пользовательскую настройку webpack?

2. Я использую create-react-app

3. Тогда это не то, как вы используете библиотеки javascript с webpack. Используйте import инструкцию, как вы делаете с react и другими зависимостями.

4. инструкции auth0 были запутанными, я думал, что мне нужно установить библиотеку с помощью npm, а также добавить тег script, мне вообще не нужен тег script, если я использую webpack?

5. Нет, вам не нужен тег script. Если вы используете import инструкцию в файле, который вы используете, webpack автоматически включит его в ваш пакет приложений. Смотрите также мой ответ.

Ответ №1:

Причина ошибки, вероятно, в том, что ваш веб-сервер обслуживает какую-то страницу с ошибкой 404, которая указывает, что веб-сервер не смог найти запрошенный ресурс.HTML-разметка начинается с a, < которая исходит из открывающего <html> тега. Браузер пытается интерпретировать его как код javascript, но < это недопустимый javascript. Вот почему вы получаете эту конкретную ошибку.

Эта проблема возникает из вашего пути ../node_modules/auth0-js/build/auth0.js , который не является допустимым путем, который может разрешить ваш веб-сервер.

Что вы можете захотеть, так это импортировать auth0 в файл javascript, в котором вы хотите его использовать, следующим образом:

 import auth0 from 'auth0-js';
  

Вы также можете следовать этому руководству о том, как использовать auth0 с react.

Я согласен, что документы auth0 немного вводят в заблуждение относительно его использования с таким пакетом, как webpack.

Ответ №2:

Проблема может быть в auth0.js откройте его в текстовом редакторе и найдите ошибки или поделитесь его кодом здесь для проверки.

Комментарии:

1. или воспользуйтесь следующей ссылкой codebeautify.org/jsvalidate для проверки вашего JS-кода.

2. the auth0.js импортируется из npm и содержит почти 10 000 строк кода

Ответ №3:

Если вы еще не пробовали это, я предлагаю вам добавить другой тег script с другим путем. Если вы не получаете сообщение об ошибке, значит, проблема в auth0.js файле.

Сообщите нам, каков результат.

Комментарии:

1. добавление другого тега скрипта дает мне ту же ошибку для обоих скриптов