vue+cesium初始化地球時遇到問題


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"

現在問題在這里解決不了,求助!!!!!!!

請問是哪里出了問題,請踴躍評論!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM