Uncaught SyntaxError: неожиданный токен при использовании листовки с колбой

Я добавил все необходимые сценарии, config.js, у которого есть мой API_KEY, однако он продолжает говорить мне «Uncaught SyntaxError: Unexpected token». Я несколько раз проверял свой ключ API, и он кажется правильным.

Это мой файл Python

app.route("/")
def index():
    """Return the homepage."""
    return render_template("index.html", cities=cities, aqi=aqi, CO=CO, NO2=NO2, SO2=SO2, PM25=pm25)


if __name__ == "__main__":
    app.run()

города, аки и т. д. — это списки, которые я отправляю на index.html.

индекс.html:

<head>
    <meta charset = "UTF-8">
    <meta name = "viewport" content = "width=device-width, initial-scale=1.0">
    <meta http-equiv = "X-UA-Compatible" content = "ie=edge">
    <title>Air-Quality</title>
    <link rel = "stylesheet" href = "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
    <link rel = "stylesheet" href = "../static/css/style.css">

    <script src = "https://cdnjs.cloudflare.com/ajax/libs/d3/5.9.2/d3.js"></script>
    <script src = "https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.js"></script>
    <script src = "https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.css"></script>

    <!-- My on scrape for lists -->

    <!-- Sending lists to JS from python -->
    <script>
        var cities = {{cities|tojson}};
        var aqi = {{aqi|tojson}};
        var CO = {{CO|tojson}};
        var NO2 = {{NO2|tojson}};
        var SO2 = {{SO2|tojson}};
        var PM25 = {{PM25|tojson}};
    </script>
</head>

<body>
    <div class = "text-center main globe">
    </div>

и код javascript, который вызывает листовку

var myMap = L.map('globe', {
    center:[45.5017, -73.5673],
    zoom:1
});

L.tileLayer("https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token = {accessToken}", {
  maxZoom: 18,
  id: "mapbox.streets-basic",
  accessToken: API_KEY
}).addTo(myMap);

пути к файлам все правильные. Мне очень интересно, что я делаю не так. Заранее спасибо.

полная ошибка:

leaflet.css:3 Uncaught SyntaxError: Unexpected token .
leaflet.js:5 Uncaught Error: Map container not found.
    at i._initContainer (leaflet.js:5)
    at initialize (leaflet.js:5)
    at new i (leaflet.js:5)
    at Object.t.map (leaflet.js:5)
    at draw_globe.js:3

Можете ли вы опубликовать полную трассировку стека.

Tech at The Sparks Foundation 05.06.2019 07:47

насколько я понимаю, стек трассирует полное сообщение об ошибке. Я отредактировал это.

haneulkim 05.06.2019 07:56
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
1 401
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Обратите внимание на ошибки. В нем говорится, что неожиданный токен встречается в leaflet.css в строке 3. Проблема здесь в том, что вы пытаетесь загрузить файл CSS как javascript. Это не сработает. Вам нужно указать таблицу стилей с тегом <link>. Итак, вместо:

<script src = "https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.css"></script>

Ты должен сделать:

<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.css">

Обратите внимание, что URL-адрес заканчивается на .css вместо .js (поэтому вам нужно включить его таким образом). Вещи, оканчивающиеся на .js, должны быть включены с помощью тегов <script>, как вы сделали с

<script src = "https://cdnjs.cloudflare.com/ajax/libs/d3/5.9.2/d3.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.js"></script>

о, так все css связаны с тегом ссылки, а js с тегом script?

haneulkim 05.06.2019 08:13

Да, это правильно. Вы также можете @import импортировать файл CSS из CSS, но просто используйте <link>.

Bailey Parker 05.06.2019 08:13

Другие вопросы по теме