Невозможно отобразить css для программы просмотра цезия с локального сервера. - PullRequest
1 голос
/ 22 мая 2019

Я пытаюсь визуализировать базовый просмотрщик цезия с локального сервера разработки, используя node.js с экспрессом (цезий 1,57, загруженный через npm). Страница загружается правильно, когда CSS загружается с серверов цезия, но не когда я пытаюсь загрузить его локально из папки node_modules. Я хотел бы иметь сторону файлового сервера, чтобы я мог со временем изменить отображение и некоторые параметры песочницы для информационных блоков в соответствии с приложением, которое я хотел бы создать.

Это работает:

index.html:
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>mapsTest</title>
    <script src="/scripts/Cesium.js"></script>
    <link href="https://cesiumjs.org/releases/1.57/Build/Cesium/Widgets/widgets.css" rel="stylesheet" />
    <!-- <link type=text/css href='/styles/widgets.css'></link> -->
  </head>
  <body>
    <div id="cesiumContainer" style="width: 100%; height:100%"></div>
    <script>
      Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhYzhjNjk0My04MzNjLTQyZTItOWRkOS1lZmQxYjE2YzM4NDYiLCJpZCI6MTAyMTYsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1NTU5NjMzNjB9.DSk7rCttQeOvYyCnuesEtoiA8OUSGwitJaiBUUeqlxw';
      var viewer = new Cesium.Viewer('cesiumContainer');
    </script>
  </body>
</html>

Пока это не работает:

index.html:
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>mapsTest</title>
    <script src="/scripts/Cesium.js"></script>
    <!-- <link href="https://cesiumjs.org/releases/1.57/Build/Cesium/Widgets/widgets.css" rel="stylesheet" /> -->
    <link type=text/css href='/styles/widgets.css'></link>
  </head>
  <body>
    <div id="cesiumContainer" style="width: 100%; height:100%"></div>
    <script>
      Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhYzhjNjk0My04MzNjLTQyZTItOWRkOS1lZmQxYjE2YzM4NDYiLCJpZCI6MTAyMTYsInNjb3BlcyI6WyJhc3IiLCJnYyJdLCJpYXQiOjE1NTU5NjMzNjB9.DSk7rCttQeOvYyCnuesEtoiA8OUSGwitJaiBUUeqlxw';
      var viewer = new Cesium.Viewer('cesiumContainer');
    </script>
  </body>
</html>

app.js: настройка маршрутов для получения локального файла CSS

app.use('/styles', express.static(__dirname + '/node_modules/cesium/Build/CesiumUnminified/Widgets'));

app.get('/styles/widgets.css', function(req, res) {
    res.sendFile(__dirname + '/node_modules/cesium/Build/CesiumUnminified/Widgets/widgets.css');
});

Я попытался скопировать и вставить код, извлеченный из ссылки cesium css, в мою локальную копию widgets.css, хотя она все еще не работает, поэтому мне интересно, как это связано с тем, как узел / Экспресс загружает CSS-файлы? При загрузке страницы нет ошибок в консолях Firefox или Chrome.

1 Ответ

0 голосов
/ 23 мая 2019

Я думаю, вы можете просто пропустить rel="stylesheet" в ссылке там.

Также в type="text/css" отсутствуют двойные кавычки.

...