vue+cesium初探(一)之vue环境配置
1、基础环境2、创建项目选择第三项自己配置按上下移动,空格键选择,回车键确定后面就按自己喜好去配,不懂可以摆渡3、安装cesium依赖4、配置vue.config.js在项目目录下新建vue.config.js,配置如下const CopyWebpackPlugin = require('copy-webpack-plugin')const webpack = require('webpack')
·
1、基础环境
2、创建项目
选择第三项自己配置
按上下移动,空格键选择,回车键确定
后面就按自己喜好去配,不懂可以摆渡
3、安装cesium依赖
4、配置vue.config.js
在项目目录下新建vue.config.js,配置如下
const CopyWebpackPlugin = require('copy-webpack-plugin')
const webpack = require('webpack')
const path = require('path')
let cesiumSource = './node_modules/cesium/Source'
let cesiumWorkers = '../Build/Cesium/Workers'
module.exports = {
// 基本路径 3.6之前的版本时 baseUrl
publicPath: "./",
// 输出文件目录
outputDir: "dist",
// eslint-loader 是否在保存的时候检查
lintOnSave: false,
// webpack-dev-server 相关配置
devServer: {
open: process.platform === "darwin",
host: "0.0.0.0",
port: 8088,
https: false,
hotOnly: false
},
configureWebpack: {
output: {
sourcePrefix: ' '
},
amd: {
toUrlUndefined: true
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': path.resolve('src'),
'cesium': path.resolve(__dirname, cesiumSource)
}
},
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({
CESIUM_BASE_URL: JSON.stringify('./')
})
],
module: {
unknownContextCritical: /^.\/.*$/,
unknownContextCritical: false
}
}
};
5、配置main.js全局引入cesium相关文件
import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import "./plugins/element.js";
Vue.config.productionTip = false;
//引入cesium相关文件
var cesium = require('cesium/Cesium');
var widgets= require('cesium/Widgets/widgets.css');
Vue.prototype.cesium = cesium
Vue.prototype.widgets = widgets
new Vue({
router,
store,
render: h => h(App)
}).$mount("#app");
6、修改Hone.vue
<template>
<div id="container" class="box">
<div id="cesiumContainer"></div>
</div>
</template>
<script>
export default {
name: 'Home',
mounted(){
this.init()
},
methods: {
init() {
let Cesium = this.cesium
let viewer = new Cesium.Viewer('cesiumContainer');
viewer._cesiumWidget._creditContainer.style.display = "none";// 隐藏版权
}
}
};
</script>
<style lang='scss' scoped>
html,
body,
#cesiumContainer {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
.box {
height: 100%;
}
</style>
7、修改App.vue
<template>
<div id="app">
<router-view/>
</div>
</template>
<style lang="scss">
</style>
8、启动项目
npm run serve
运行效果
更多推荐
已为社区贡献5条内容
所有评论(0)