cesium-webpack 入门开发系列一初探篇(附源码下载)
2024-09-01 23:49:10
前言
cesium-webpack 入门开发系列环境知识点了解:
- node 安装包下载
webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址- webpack 配置介绍文档
详细的 webpack 文档配置介绍,适合新手查看,我也是边看边学- vscode 安装包下载,我这边用 vscode工具编译开发前端项目,个人觉的这款工具还不错
- cesium api文档介绍,详细介绍 cesium 每个类的函数以及属性等等
- cesium 在线例子
我之前写一系列关于 cesium 入门开发文章,均是采取页面引用 cesium.js 以及 css 传统的手段来开发。其实 cesium 官网早已推出 CesiumJS and webpack 形式,我一直没抽空来尝试,所以,今天抽空按照官网的教程搭建一套 cesium-webpack形式来开发。
- 参照 cesium 的教程如下:
CesiumJS and webpack - cesium-webpack-example github例子地址如下:
cesium-webpack-example
按照官网教程安装配置过程中,有几处地方需要注意一下,由于 npm install 安装都是默认最新版本的,所以官网教程有些地方不太合适,版本差异性,具体如下:
- webpack.config.js 配置文件里面的 webpack.optimize.CommonsChunkPlugin 识别不到
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: 'cesium',
minChunks: module => module.context && module.context.indexOf('cesium') !== -1
})
],
改为
plugins: [ new webpack.optimize.SplitChunksPlugin({
name: 'cesium',
minChunks: module => module.context && module.context.indexOf('cesium') !== -1
})
],
- webpack.config.js 配置文件里面的 new webpack.optimize.UglifyJsPlugin() 已经被弃用
plugins: [
new webpack.optimize.UglifyJsPlugin()
]
改为
optimization: {
minimize: true
}
创建好的cesium-webpack 目录,vscode 打开如下:
dist webpack 打包编译后的文件夹
dist/index.html 地图主页
src/index.js 地图初始化代码
package.json 记录了项目的配置信息,包括名称、版本、许可证等元数据,也会记录所需的各种模块,包括 执行依赖,和开发依赖
webpack.config.js webpack 的配置文件
- 地图页面 index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<title>Cesium + Webpack</title>
</head>
<body>
<div id="cesiumContainer"></div>
</body>
</html>
- 地图初始化加载 index.js
import Cesium from 'cesium/Cesium';
import "./css/main.css";
import "cesium/Widgets/widgets.css"; var viewer = new Cesium.Viewer('cesiumContainer');
- 在 vscode 新建终端,输入 npm install 或者 npm i, 安装环境需要的依赖包,若无报错信息,则进行下一步
- npm run build,打包编译web项目
- npm start,node 启动 web 项目打包到浏览器运行看效果
- 如果正常出现该页面,则运行成功
完整demo源码见小专栏文章尾部:GIS之家cesium小专栏
文章尾部提供源代码下载,对本专栏感兴趣的话,可以关注一波
最新文章
- 《Entity Framework 6 Recipes》中文翻译系列 (46) ------ 第八章 POCO之领域对象测试和仓储测试
- OpenSuse 中目录中文路径改为英文路径
- Python语言特性之2:元类
- 【ZeroClipboard is not defined】的解决方法
- http cache 原理实战演习
- mysql创建每月执行一次的event
- NTFS reparse point
- 337. House Robber III
- app开发历程——android手机显示服务器端图片思路
- HTTP学习实验8-windows添加telnet功能
- Pyhton 操作MySQL数据库
- 自定义控件 进度条 ProgressBar-2
- 斯坦福 IOS讲义 课件总结 三
- js正则表达式的使用
- [HNOI 2010]Bus 公交线路
- android View层的绘制流程
- Redis for linux安装配置之—-源码安装
- 如何将python中的List转化成dictionary
- SSRS配置2:加密管理
- arcgis python 沿线生成点
热门文章
- shell 中长命令的换行处理
- .netcore 中使用开源的AOP框架 AspectCore
- js分号问题
- 微信扫码登陆,qq登陆,微博登陆等第三方登陆成功后返回原来的页面并进行跳转
- IT开发、PM、UI/UE学习路线图(非原创-参考传智播客网站介绍)
- more than 120 seconds|hung_task_timeout_secs 什么鬼?
- Day3 - Python基础3 函数基本、递归函数、内置函数
- 201871010131-张兴盼《面向对象程序设计(java)》第一周学习总结
- 第四章 返回结果的HTTP状态码
- windows golang安装golang.org/x/net text grpc