首页 > 解决方案 > SyntaxError:当前不支持私有字段

问题描述

启用 openlayers 的 3d 地图的问题。2D 地图效果很好。使用 parcel 并添加所有依赖项。

在 js 文件上导入 cesium 后,我得到了 SyntaxError: private fields are not supported。

在包 json 文件中添加了“cesium”:“^1.62.0”。

<html>
    <head></head>
    <body>
        <div id="map" style="height: 400px;"></div>
        <script src="index.js"></script>
    </body>
</html>
import 'ol/ol.css';
import Cesium from 'cesium'; // --> THIS LINE MAKES ERROR
import Map from 'ol/Map';
import View from 'ol/View';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
import {defaults as defaultControls} from 'ol/control';
import ZoomSlider from 'ol/control/ZoomSlider';
import OLCesium from 'olcs/OLCesium.js';

var view = new View({
    center: [328627.563458, 5921296.662223],
    zoom: 8,
    extent: [-572513.341856, 5211017.966314,
      916327.095083, 6636950.728974]
  });

 new Map({
    layers: [
      new TileLayer({
        source: new OSM()
      })
    ],
    keyboardEventTarget: document,
    target: 'map',
    view: view,
    controls: defaultControls().extend([new ZoomSlider()])
  });

const ol3d = new OLCesium({map: map}); // ol2dMap is the ol.Map instance
ol3d.setEnabled(true);

标签: html-listsopenlayerscesiumparcel

解决方案


我收到了这个错误,因为 JavaScript 中字符串的开始和结束符号不匹配:

(!!(v)) ? $('#is_err_" + j + "_ALARM").show() : $('#is_err_" + j + "_ALARM").hide();

(其中一些字符串以 ' 符号打开,但以 " 符号关闭)


推荐阅读