【发布时间】:2023-03-21 06:10:01
【问题描述】:
我在带有打字稿的 AngularJs 2 中使用 esri
import esri = require('esri');
import Map = require('esri/map');
import AGSPoint = require("esri/geometry/Point");
import { Component } from 'angular2/core'
@Component({
templateUrl: 'app/home/home.html',
styleUrls: [ 'app/home/home.css' ],
})
export class Home {
map: Map;
contructor() {
this.map = this.createMap();
}
private createMap(): Map {
const point = new Point(-122.45, 37.75); // long, lat
point.log();
const mapOptions: esri.MapOptions = {};
mapOptions.basemap = "topo";
mapOptions.center = point;
mapOptions.zoom = 13;
return new Map("map", mapOptions);
}
}
class Point extends AGSPoint {
log() {
console.log(this.type, this.x, this.y);
}
}
我已经正确安装了类型定义(d.ts 文件)并且它们被正确检索。
索引文件如下所示
<html>
<head>
<base href="/">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no" />
<title>Home</title>
<link rel="stylesheet" href="https://js.arcgis.com/3.15/esri/css/esri.css">
<!-- IE required polyfills, in this exact order -->
<script src="es6-shim/es6-shim.min.js"></script>
<script src="systemjs/dist/system-polyfills.js"></script>
<script src="angular2/bundles/angular2-polyfills.js"></script>
<script src="systemjs/dist/system.src.js"></script>
<script src="rxjs/bundles/Rx.js"></script>
<script src="angular2/bundles/angular2.dev.js"></script>
<script src="angular2/bundles/router.dev.js"></script>
<!-- ArcGIS -->
<script src="//js.arcgis.com/3.15"></script>
<script>
System.config({
// defaultJSExtensions: true,
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/main')
.then(null, console.error.bind(console));
</script>
</head>
<body>
<app>Loading map...</app>
</body>
</html>
关键是当我执行应用程序时它不起作用。 index.html 由 nodejs 提供。它给了我错误
localhost:3000/esri/map not found
我应该如何安装esri modules?应该如何检索它们?
【问题讨论】:
-
脚本在哪里?
-
你试过了吗:
import esri = require('./esri'); -
我已经导入了 td.s 定义。 Esri 脚本不存在。应该以某种方式检索它们,但从哪里检索?
-
它们是 npm 模块吗?
标签: angularjs node.js typescript angular esri