javascript - 无法编译使用 OpenLayers 的 TypeScript 代码

标签 javascript typescript openlayers

我有一些使用 OpenLayers 的简单 TypeScript 代码,我可以将其编译成 JavaScript,加载到浏览器中,一切正常:

var map = new ol.Map({
  target: 'map',
  layers: [new ol.layer.Tile({source: new ol.source.OSM()})],
  view: new ol.View({
    center: [0, 0],
    zoom: 4
  })
});

但是,当我尝试将第二个代码文件导入主文件时,我收到无法解决的错误:

import {SomeClass} from "./SomeClass";

var map = new ol.Map({
  // ... save as above

index.ts(3,15):错误 TS2686:“ol”指的是 UMD 全局,但当前文件是一个模块。考虑改为添加导入。

针对这样安装的 OpenLayers 类型进行编译:

npm install --save-dev openlayers
npm install --save-dev @types/openlayers

如何使用 OpenLayers 编译包含多个代码文件的 TypeScript 代码库?

最佳答案

尝试使用

import * as ol from 'openlayers';

关于javascript - 无法编译使用 OpenLayers 的 TypeScript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50844796/

相关文章:

javascript - 为什么初始化的 JavaScript 对象不包含原型(prototype)对象?

javascript - HTML5 Canvas + JavaScript 线框球体转换问题

Javascript window.print() 给了我不同的输出

typescript - 是否可以在 Typescript 中定义非空数组类型?

typescript - 将数组传播到 typescript 中的参数

javascript - 为 OpenLayers 转换 GPS 坐标

javascript - 将键盘事件添加到 Openlayers map

javascript - 防止窗口滚动到折叠下方,直到单击按钮

compiler-errors - Webstorm 7的TypeScript转码错误

events - OpenLayers 3 捕捉瓷砖加载事件