版本,我用的是cli4.5和Cesium1.74
1. 创建vue项目
vue create 项目名2. 安装Cesium
进入项目目录,输入下面代码
npm install cesium3. 创建vue.config.js文件
在项目根目录创建vue.config.js文件,并在复制下面代码到文件内
const CopyWebpackPlugin = require('copy-webpack-plugin') module.exports = { configureWebpack: { plugins: [ new CopyWebpackPlugin([{ from: 'node_modules/cesium/Build/Cesium/Workers', to: 'Workers' }]), new CopyWebpackPlugin([{ from: 'node_modules/cesium/Build/Cesium/ThirdParty', to: 'ThirdParty' }]), new CopyWebpackPlugin([{ from: 'node_modules/cesium/Build/Cesium/Assets', to: 'Assets' }]), new CopyWebpackPlugin([{ from: 'node_modules/cesium/Build/Cesium/Widgets', to: 'Widgets' }]) ] } } 创建CesiumDemo.vue文件注意:需要提前在https://cesium.com/ion/tokens网站注册账号,然后获取token,然后修改 Cesium.Ion.defaultAccessToken 里的token。
在components目录创建CesiumDemo.vue文件,输入下列代码
<template> <div id="cesiumContainer"></div> </template> <script> window.CESIUM_BASE_URL = '/' import * as Cesium from 'cesium' import 'cesium/Build/Cesium/Widgets/widgets.css' export default { name: 'CesiumDemo', mounted() { // Your access token can be found at: https://cesium.com/ion/tokens. Cesium.Ion.defaultAccessToken = '自己的token' // Initialize the Cesium Viewer in the HTML element with the "cesiumContainer" ID. const viewer = new Cesium.Viewer('cesiumContainer', { terrainProvider: Cesium.createWorldTerrain() }) // Add Cesium OSM Buildings, a global 3D buildings layer. // const buildingTileset = viewer.scene.primitives.add(Cesium.createOsmBuildings()) // Fly the camera to San Francisco at the given longitude, latitude, and height. viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(-122.4175, 37.655, 400), orientation: { heading: Cesium.Math.toRadians(0.0), pitch: Cesium.Math.toRadians(-15.0) } }) } } </script> <style></style> 运行项目 npm run serve