使用Vue-cli搭建ArcgisAPI项目

一. 下载并安装NodeJS

网址:http://nodejs.cn/download/
安装完成后,打开cmd命令窗口,执行以下两个命令检查是否安装成功。若出现版本信息,则表示安装成功。

node -v
npm -v

二. 安装Vue Cli

打开cmd命令窗口,执行以下三个命令来分别设置镜像源、安装Vue环境和Vue的脚手架工具,如下:

npm config set registry https://registry.npm.taobao.org 
npm install vue

// 若不加“@3.0.4则为安装最新版本的vuec-li”
npm install -g @vue/cli@3.0.4

三. 创建Vue Cli项目

在合适的目录下新建文件夹,然后在此文件夹中打开cmd命令窗口。执行以下命令来创建一个基础的Vue项目demo,如下:
(项目名不能有大写字母!)

// vue create 项目名称
vue create vue-cli-arcgis
创建Vue Cli项目

四. 安装esri-loader中间件

执行以下命令进入项目所在的文件夹,并安装esri-loader中间件

<!-- cd ./项目名称 -->
cd ./vue-cli-arcgis
npm install esri-loader --save-dev

五. 安装element-UI

执行以下命令

npm i element-ui -S

六. 使用ide打开并配置项目

Idea、webStrom或者VSCode都可以进行开发,选择个人/公司常用的IDE即可。本文以Idea为例。
1. 引入 Element
在 main.js 中写入以下内容:

// 路径:src/main.js

// 引用Element ui
import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
Vue.use(ElementUI);

2. 修改App.vue

<!-- 路径:src/App.vue -->
<template>
  <div style="height: 100%">
    <router-view></router-view>
  </div>
</template>

<script></script>

<style></style>

3. 在index.html添加样式

<!-- 路径:public/index.html -->

<style>
  html,
  body{
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
  }
</style>

4. 修改router路由

  • 按个人/公司习惯在src中新建文件夹管理vue、js等资源。(图中删除了src中的views、assets、components文件夹)


    仅供参考
  • 修改router.js文件
import Vue from "vue";
import Router from "vue-router";

Vue.use(Router);

export default new Router({
  mode: "history",
  base: process.env.BASE_URL,
  routes: [
    {
      path: "/",
      name: "登录页",
      redirect: '/MainGis', // 示例中不含登录,直接重定向到主界面
      // component: resolve => require(["./modules/Login/components/Login"], resolve)
    },
    {
      path: "/MainGis",
      name: "主界面",
        component: resolve => require(["./modules/MainGIS/components/MainGis"], resolve)
    }
  ]
});

六. 加载ArcGIS API

  1. 访问ArcGIS官网下载arcgis api for javascript v3.xx版本
    https://developers.arcgis.com/downloads/#javascript
  2. 打开下载的压缩包,将arcgis_js_v3xx_api\arcgis_js_api\library中的3.xx文件夹解压到项目的src文件夹里。(图中将3.39文件夹重命名为arcgis-api-3.39)


    解压arcgis api到项目的src/plugins文件夹中
  3. 修改arcgis api中的init.js和dojo.js文件
    搜索“[HOSTNAME_AND_PATH_TO_JSAPI]”,并将其替换为 “ [IP地址]:[端口号]/[arcgis api路径]/ ”
    我的arcgis api存放在public/plugins/arcgis-api-3.39中,所以此处替换为“ 192.168.1.97:8080/plugins/arcgis-api-3.39/ ”


    修改baseUrl
  4. 编辑主界面vue文件,此处为MainGis.vue
<template>
    <div id="mainGis">
        <div id="arcgisMap"></div>
    </div>
</template>

<script>
    import {loadModules} from "esri-loader";

    export default {
        name: "MainGis",
        methods: {
            //创建地图
            _createMapView: function () {
                const _self = this; //定义一个_self防止后续操作中this丢失
                const option = {
                    //定义一个包含有JS API中js开发包和css样式文件的对象
                    url: "/plugins/arcgis-api-3.39/init.js",
                    css: "/plugins/arcgis-api-3.39/esri/css/esri.css",
                };

                loadModules(
                    [
                        "esri/map"
                    ],
                    option
                ).then(
                    ([
                         Map
                     ]) => {
                        // 实例化map
                        let map = new Map("arcgisMap", {
                            logo: false,
                            basemap: "topo-vector",
                            center: [121.470, 31.231],
                            zoom: 13,
                            spatialReference: {
                                wkid: 4326
                            }
                        });
                    }
                ).catch((err) => {
                    _self.$message("地图创建失败," + err);
                });
            }
        },
        mounted: function () {
            this._createMapView();
        },
    };
</script>

<style>
    #mainGis, #arcgisMap {
        width: 100%;
        height: 100%;
    }
</style>

七. 启动项目

  1. 使用idea启动
    右键点击项目目录中的package.json文件,选择"Show npm Scripts"


    Show npm Scripts

    双击serve启动项目

    点击链接访问项目
  2. 使用cmd命令启动
    打开cmd命令窗口,跳转至项目目录,输入以下指令启动项目
npm run serve

八. 项目创建成功

使用Vue-cli搭建ArcgisAPI项目

参考文章 :
使用Vue-cli搭建ArcgisAPI项目并引用element-UI
https://zhuanlan.zhihu.com/p/445765844
安装vue-cli3.0并创建vue项目
https://blog.csdn.net/weixin_41996632/article/details/102669324
Vue-cli3如何添加路由(router)
https://www.cnblogs.com/zoro-zero/p/14242081.html
在vue中报export ‘default‘ (imported as ‘Vue‘) was not found in ‘vue 解决办法
https://blog.csdn.net/qq_45680037/article/details/115354444
运行npm install 时,卡在sill idealTree buildDeps没有反应
https://blog.csdn.net/weixin_46182244/article/details/121302702
element-快速上手【官网】
https://element.eleme.cn/#/zh-CN/component/quickstart
VueCli3 项目结构和具体作用
https://www.cnblogs.com/500m/p/12049228.html
arcgis vue 离线加载js/本地加载js
https://blog.csdn.net/a2469025185/article/details/109674917

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容