1、首先通過vue-cli構建項目,在你習慣的目錄下打開cmd輸入:
vue init webpack cesium-demo 我這里的cesium-demo是我項目的名稱,后續一些構建項目的選項省略.....
2、然后在項目中安裝cesium框架:
npm install cesium --save
3、webpack配置,build/webpack.base.conf.js 文件中添加
resolve: { alias: { // Cesium module name cesium: path.resolve(__dirname, '../node_modules/cesium/Source') } }
4、build/webpack.dev.conf.js 文件中添加
plugins: [ ... // Copy Cesium Assets, Widgets, and Workers to a static directory new CopyWebpackPlugin([ { from: path.join('node_modules/cesium/Source', '../Build/Cesium/Workers'), to: 'Workers' } ]), new CopyWebpackPlugin([ { from: path.join('node_modules/cesium/Source', 'Assets'), to: 'Assets' } ]), new CopyWebpackPlugin([ { from: path.join('node_modules/cesium/Source', 'Widgets'), to: 'Widgets' } ]), new webpack.DefinePlugin({ // Define relative base path in cesium for loading assets CESIUM_BASE_URL: JSON.stringify('') }) ]
5、main.js中配置
import Cesium from "cesium/Cesium"; import "cesium/Widgets/widgets.css"; Vue.prototype.Cesium = Cesium Vue.config.productionTip = false
6、App.vue 中輸入以下代碼
<template> <div id="app"> <div id="cesiumContainer"></div> </div> </template> <script> export default { name: "App", mounted() { this.$nextTick(() => { const viewer = new this.Cesium.Viewer("cesiumContainer"); console.log('viewer: ', viewer); }); }, }; </script> <style> html, body { width: 100%; height: 100%; padding: 0; margin: 0; } #app, #cesiumContainer { font-family: "Avenir", Helvetica, Arial, sans-serif; width: 100%; height: 100%; overflow: hidden; } </style>
運行: npm run dev
項目運行起來之后報錯!!!
頁面如下,是個空白的
控制台報錯: Error in nextTick: "TypeError: Cannot read property 'Viewer' of undefined"
現在問題在這里解決不了,求助!!!!!!!
請問是哪里出了問題,請踴躍評論!!!