Cesium系列4 — Vue+Cesium开发环境搭建(基于Cesium1.74)

1.搭建VUE项目

使用vue-cli工具创建一个vue项目:(确保已安装node.js)

vue init webpack cesiumtest

2.用webstrom打开项目(其他编码工具也可以)

3.安装cesium

在配置文件package.json,中新加"cesium": "^1.74.0",如图,配置好后运行npm install 即可,这里我们先做后续配置,弄完一起运行

4.修改配置文件,进行webpack配置

需要修改webpack.base.conf.js, webpack.dev.conf.js, webpack.prod.conf.js 三个文件

4.1修改webpack.base.conf.js

4.1.1定义 Cesium 源码路径:

const cesiumSource = '../node_modules/cesium/Source' //定义 Cesium 源码路径
const cesiumWorkers = path.join(cesiumSource,'Workers');

4.1.2让webpack正确处理多行字符串,在output中添加sourcePrefix:' '

output: {
    path: config.build.assetsRoot,
    filename: '[name].js',
    publicPath: process.env.NODE_ENV === 'production'
      ? config.build.assetsPublicPath
      : config.dev.assetsPublicPath,
      sourcePrefix: ' ' //让webpack正确处理多行字符串
  },

4.1.3 设置cesium别名 ,cesium: path.resolve(__dirname, cesiumSource)//设置cesium别名

需要在resolve中设置cesium别名,这样在引入的时候就可以根据别名找到Cesium的包。
(注:也可以不设置别名,导包是直接导入'cesium/Source/Cesium.js'就行。其实设置别名的目的就是让“别名”指向/node_modules/cesium/Source目录)

 resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      cesium: path.resolve(__dirname, cesiumSource) //设置cesium别名 
    }
  },

4.1.4阻止依赖警告
module里添加unknownContextCritical:false

module: {
    rules:[
    ...
    ],
    unknownContextCritical: false,//阻止依赖警告
}

4.2 配置 webpack.dev.conf.js

4.2.1定义路径:

const cesiumSource = 'node_modules/cesium/Source'
const cesiumWorkers = '../Build/Cesium/Workers'

4.2.2在plugins下面添加如下插件:

new CopyWebpackPlugin([{ from: path.join(cesiumSource, cesiumWorkers), to: 'Workers' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Assets'), to: 'Assets' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Widgets'), to: 'Widgets' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'ThirdParty/Workers'), to: 'ThirdParty/Workers' }]),
new webpack.DefinePlugin({
   // Define relative base path in cesium for loading assets
   CESIUM_BASE_URL: JSON.stringify('')
})

4.3 配置webpack.prod.conf.js文件

4.3.1定义路径:

const cesiumSource = 'node_modules/cesium/Source'
const cesiumWorkers = '../Build/Cesium/Workers'

4.3.2在plugins下面添加如下插件:

new CopyWebpackPlugin([{ from: path.join(cesiumSource, cesiumWorkers), to: 'Workers' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Assets'), to: 'Assets' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'Widgets'), to: 'Widgets' }]),
new CopyWebpackPlugin([{ from: path.join(cesiumSource, 'ThirdParty/Workers'), to: 'ThirdParty/Workers' }]),
new webpack.DefinePlugin({
   // 注意这里和dev的配置不同
   // 定义Cesium从哪里加载资源,如果使用默认的'',却变成了绝对路径了,所以这里使用'./',使用相对路径
   CESIUM_BASE_URL: JSON.stringify('./')
})

 5.编写Vue组件

5.1在src/view下新建一个名为earth.vue的组件,view目录没有需要新建目录,用来放vue组件页面,earth.vue代码如下:

<template>
  <div class="container">
    <div id="cesiumContainer"></div>
  </div>
</template>

<script>
    import { Viewer } from 'cesium/Cesium'
    import  'cesium/Widgets/widgets.css'
    export default {
        name: "earth",
        data() {
            return {};
        },
        mounted() {
            let viewer = new Viewer("cesiumContainer");
        }
    };
</script>

<style scoped>
  .container {
    width: 100%;
    height: 100vh;
  }
  #cesiumContainer {
    width: 100%;
    height: 100vh;
  }
</style>

这里不能使用 import Cesium from 'cesium/Cesium' 导入模块,因为Cesium 1.63 版本以后使用的是ES6。应该使用上述方式

5.2在App.vue中注册组件

5.3修改路由,router.js

 新加earth 的组件部分路由,如下

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

Vue.use(Router)

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

6.安装插件

npm install 

7.项目运行

npm run dev

8.运行结果

http://localhost:8080/#/earth

9.源码

github地址 :https://github.com/bitree1/cesiumtest


关注

如果有问题,请在下方评论

想获得更多的学习知识请关注微信公众号:西北码农或扫下方二维码


  • 15
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
以下是使用VueCesium配置开发环境的步骤: 1. 首先,确保你已经安装了最新版本的Vue CLI。你可以使用以下命令来检查Vue CLI的版本: ```shell vue --version ``` 2. 如果你还没有安装Vue CLI,可以使用以下命令来全局安装Vue CLI: ```shell npm install -g @vue/cli ``` 3. 创建一个新的Vue项目。你可以使用以下命令来创建一个新的Vue项目: ```shell vue create my-cesium-project ``` 4. 进入到项目目录中: ```shell cd my-cesium-project ``` 5. 安装Cesium和相关的依赖。你可以使用以下命令来安装Cesium和vite-plugin-cesium: ```shell npm install cesium vite-plugin-cesium ``` 6. 在项目的根目录下创建一个vite.config.js文件,并添加以下内容: ```javascript import { defineConfig } from 'vite'; import cesium from 'vite-plugin-cesium'; export default defineConfig({ plugins: [cesium()], }); ``` 7. 在项目的根目录下创建一个.vue文件,例如App.vue,并在其中引入Cesium的相关组件和样式: ```vue <template> <div id="cesiumContainer"></div> </template> <script> import { Viewer } from 'cesium/Source/Cesium'; export default { mounted() { const viewer = new Viewer('cesiumContainer'); }, }; </script> <style> @import url('cesium/Build/Cesium/Widgets/widgets.css'); #cesiumContainer { height: 400px; } </style> ``` 8. 在项目的根目录下运行以下命令来启动开发服务器: ```shell npm run dev ``` 9. 打开浏览器并访问http://localhost:3000,你将看到一个包含Cesium地球的页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值