vue + cesium 环境搭建

版本:

vue v2.5.2

cesium v1.68.0

开发工具使用vscode

 

node、vue-cli等安装步骤网上都说烂了,这里就不说了。

下载webpack模板项目,安装cesium依赖

在自己喜欢的位置创建测试文件夹,这里我用的cesiumDemo,拖入vscode中,右键“在终端中打开”。

在终端中输入

vue + cesium 环境搭建_第1张图片

就能下载适合新手开发的vue项目了

test是项目名 可以自定义

等下完后,继续终端输入

cd test

正式进入项目内,继续输入

npm install cesium --save

下载cesium依赖。

 

集成cesium

按照网上文章,大体如下:

配置webpack.base.conf.js文件

// 定义Cesium源码路径
const cesiumSource = '../node_modules/cesium/Source'

vue + cesium 环境搭建_第2张图片

vue + cesium 环境搭建_第3张图片

如果运行时报 "Cannot find module "." 可以考虑将 unknownContextRegExp 放开。

配置 webpack.dev.conf.js 文件

// 定义Cesium源码路径
const cesiumSource = 'node_modules/cesium/Source'
const cesiumWorkers = '../Build/Cesium/Workers'

这里cesium找的是依赖包里的Source文件夹(下的js入口),对应的cesiumWorkers则是在cesiumSource基础上去Workers目录下引用具体的类文件噢,看不懂相对路径的同学可以再重温一下。

vue + cesium 环境搭建_第4张图片

在plugins下新增如下插件,拷贝静态资源

vue + cesium 环境搭建_第5张图片

 

配置 webpack.prod.conf.js 文件

// 定义Cesium源码路径
const cesiumSource = 'node_modules/cesium/Source'
const cesiumWorkers = '../Build/Cesium/Workers'

同样在plugins中添加插件

vue + cesium 环境搭建_第6张图片

需要注意的是 CESIUM_BASE_URL这里需要用相对路径,所以要用stringify('./'),否则会拼接成绝对路径。

创建cesium组件并引用

创建cesiumView组件。






 

修改App.vue






 

修改router/index.js

import Vue from 'vue'
import Router from 'vue-router'
// import HelloWorld from '@/components/HelloWorld'
import cesiumView from '@/components/cesiumView'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'cesiumView',
      component: cesiumView
    }
  ]
})

 

修改main.js

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
// import '../node_modules/cesium/Build/Cesium/Widgets/widgets.css'
// import Cesium from 'cesium/Cesium'
var Cesium = require('cesium/Cesium')
// import 'cesium/Cesium/Widgets/widgets.css'
Vue.config.productionTip = false

Vue.prototype.Cesium = Cesium
/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: ''
})

 

需要注意的是,网上其他文章说的是 import Cesium from 'cesium/Cesium',但我试了不行,发现提示异常

vue + cesium 环境搭建_第7张图片

这是因为我下的是cesium1.68版本,新版本不支持整体import,可以用require方式。

 

还有我看网上说

vue + cesium 环境搭建_第8张图片

我还没打包不好验证真伪,也有说修改dev配置项的assetsPublicPath,也改成 '' 的,但我没改发现也能运行。

 

参考文章:

https://blog.csdn.net/u011347088/article/details/83090527

https://blog.csdn.net/weizhixiang/article/details/104473856

https://www.jianshu.com/p/248a904dbb34

https://blog.csdn.net/li11122212/article/details/93167685

你可能感兴趣的:(cesium,Vue)