前言

leaflet-webpack 入门开发系列环境知识点了解:

我之前有计划写一系列关于 leaflet 入门开发文章,只是一直没什么时间来整理,最近刚好单位有个 WebGIS 项目是用 leaflet 结合 webpack 来管理使用的,所以,开始了本篇文章 leaflet-webpack 入门开发系列一初探篇,对于 webpack 这个管理工具平台,我也是学习阶段,跟大家一起学习交流,写的不好之处,望见谅。

环境搭建

  • 安装 node.js,笔者版本为:10.15.3
  • 下载安装 vscode
  • demo 项目工程文件目录以及关键代码讲解

dist webpack 打包编译后的文件夹
dist/index.html 地图主页
src/index.js 地图初始化代码
package.json 记录了项目的配置信息,包括名称、版本、许可证等元数据,也会记录所需的各种模块,包括 执行依赖,和开发依赖
webpack.config.js webpack 的配置文件

  • index.html
<html>
<head>
<title>Leaflet入门开发系列Demo</title>
</head>
<body>
<div id="map" style="width: 100%; height: 100%;"></div>
<script src="bundle.js"></script>
</body>
</html>
  • index.js
import L from 'leaflet';
import 'leaflet/dist/leaflet.css';
/* This code is needed to properly load the images in the Leaflet CSS */
delete L.Icon.Default.prototype._getIconUrl;
L.Icon.Default.mergeOptions({
iconRetinaUrl: require('leaflet/dist/images/marker-icon-2x.png'),
iconUrl: require('leaflet/dist/images/marker-icon.png'),
shadowUrl: require('leaflet/dist/images/marker-shadow.png'),
}); //const map = L.map('map');
const map = L.map("map", {
attributionControl: false
});
const defaultCenter = [23.1441, 113.3693];
const defaultZoom = 15;
const basemap = L.tileLayer('https://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}');
const marker = L.marker(defaultCenter);
map.setView(defaultCenter, defaultZoom);
basemap.addTo(map);
marker.addTo(map);
//监听地图点击事件
map.on("click",(evt)=>{
console.log(evt);
})
  • 在 vscode 新建终端,输入 npm install 或者 npm i, 安装环境需要的依赖包,若无报错信息,则进行下一步
  • npm run build,打包编译web项目
  • npm start,node 启动 web 项目打包到浏览器运行看效果
  • 如果正常出现该页面,则运行成功

完整demo源码见小专栏文章尾部GIS之家小专栏

文章尾部提供源代码下载,对本专栏感兴趣的话,可以关注一波

最新文章

  1. 埃尔米特插值问题——用Python进行数值计算
  2. 微信小程序实例
  3. 一道灵活的css笔试题
  4. 设计模式之——单例模式(Singleton)的常见应用场景
  5. C#日志写入
  6. Win7_64位使用Mysql Odbc
  7. 修改Hosts后对火狐不起作用解决办法
  8. 16.如何设置Quartus II Programmer,保护pof不被读出
  9. UVa 699 落叶
  10. JS排序算法
  11. VS2013 C++代码运行问题
  12. maven常用命令介绍
  13. Android开发学习之路--Drawable mutations
  14. 服务器:SATA、PATA及IDE的比较
  15. Java读取证书
  16. 饮冰三年-人工智能-Python-20 Python线程、进程、线程
  17. TCP/IP协议三次握手与四次挥手
  18. vue,react,angular本地配置nginx 环境单页面应用
  19. excel中文转成拼音字母(包括首字母大写)
  20. Builder 设计模式的学习

热门文章

  1. (转)vscode实现markdown流程图
  2. 50行Python代码实现视频中物体颜色识别和跟踪
  3. Java操作数据库——手动实现数据库连接池
  4. C#关于反序列化实例时,接收实体字段少于或大于原实体对象 解析测试
  5. 从0系统学Android-2.4 Activity 的生命周期
  6. 【Gradle】Java Gradle 插件
  7. Thymeleaf常用语法:条件判断 if、switch case
  8. 如何去除小程序button的边框
  9. 单词倒序(java)
  10. android binder 进程间通信机制4-Service Manager