无法从本地服务器为铯查看器呈现CSS

时间:2019-05-22 20:30:04

标签: node.js express cesium

我正在尝试使用具有express(通过npm下载的铯1.57)的node.js从本地开发服务器渲染基本的铯查看器。从铯的服务器加载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');
});

我尝试将从铯css链接中提取的代码复制并粘贴到我的widgets.css本地副本中,尽管仍然无法正常工作,所以我想知道这是否与节点的运行方式有关/ express加载CSS文件?加载页面时,firefox或chrome控制台没有错误。

1 个答案:

答案 0 :(得分:0)

我认为您可能只是在该链接中缺少rel="stylesheet"

type="text/css"也缺少双引号。