用途
ArcGIS Starter App 用于创建基于 ArcGIS Maps SDK for JavaScript 的应用程序,技术栈为 TypeScript 与 Vite。它提供两种可选方案:适合快速原型开发的最小化配置,以及带完整工具链的生产级配置。
前置条件
- ArcGIS 账户:需要 ArcGIS Location Platform、ArcGIS Online 或 ArcGIS Enterprise 账户,以访问内容与服务。
- 访问令牌:通过门户创建具有相应权限(底图、地理编码、路径规划等)的访问令牌,并为生产环境配置允许的 referrer。
- Node.js:LTS 版本(20+),搭配 npm 或 pnpm。
注意:使用 npm 时,Map Components 的 CSS 会自动加载,无需手动导入 @arcgis/map-components 的 CSS。仅当直接使用 Core API 组件(widgets)时,才需要导入 @arcgis/core 的 CSS。
主要能力
- 提供 2D 地图(arcgis-map)与 3D 场景(arcgis-scene)的 HTML 模板。
- 支持 Map Components(Web Components)与 Core API(编程式)两种使用方式。
- 提供 React 19 与 Angular 的框架集成示例。
- 提供 TypeScript 配置(moduleResolution 设为 node16 或 bundler)。
- 生产级配置包含 ESLint、Prettier、EditorConfig、Git attributes、simple-git-hooks、lint-staged,以及 GitHub Actions 的 test.yml 与 deploy.yml 工作流。
使用方式
最小化配置的项目结构包含 src/main.ts、src/style.css、index.html、package.json、tsconfig.json、vite.config.ts、.gitignore 与 README.md。
快速开始命令:
npm install @arcgis/map-components @esri/calcite-components
npm install -D typescript vite
npm run dev
在 main.ts 中需设置 Calcite 资源路径并配置 ArcGIS API key:
import { setAssetPath as setCalciteAssetPath } from "@esri/calcite-components/dist/components";
setCalciteAssetPath("https://js.arcgis.com/calcite-components/3.3.3/assets");
import esriConfig from "@arcgis/core/config";
esriConfig.apiKey = "YOUR_API_KEY";
React 19 中可直接使用 Web Components,并通过 on 前缀绑定事件监听,例如 onarcgisViewReadyChange。Angular 中需添加 CUSTOM_ELEMENTS_SCHEMA,并在根样式表中显式导入 Map Components CSS。
常用组件(widgets)包括 arcgis-search、arcgis-basemap-gallery、arcgis-layer-list 等,可按需导入并放入对应 slot。
适用场景
- 需要快速搭建 ArcGIS 地图或场景应用的开发者。
- 希望在 TypeScript + Vite 环境下进行原型验证或生产部署的团队。
- 需要在 React 19 或 Angular 项目中集成 ArcGIS Map Components 的前端开发者。
限制
- 必须拥有 ArcGIS 账户与访问令牌,否则无法访问内容与服务。
- 生产环境需配置允许的 referrer。
- 资料未提供收费、价格、性能或效果方面的信息。
- 资料未提供除 React 19 与 Angular 之外其他框架的集成说明。