1. npm 命令
mkdir react-webpack-openlayer cd react-webpack-openlayer npm init npm i react react-dom -D npm i webpack webpack-cli webpack-dev-server -D npm i @babel/core babel-loader @babel/preset-env @babel/preset-react --save-dev npm i css-loader style-loader npm i ol
2.package.json
{ "name": "react-webpack-openlayer", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "webpack-dev-server" }, "author": "", "license": "ISC", "dependencies": {}, "devDependencies": { "@babel/core": "^7.4.4", "@babel/preset-env": "^7.4.4", "@babel/preset-react": "^7.0.0", "babel-loader": "^8.0.6", "css-loader": "^2.1.1", "ol": "^5.3.2", "react": "^16.8.6", "react-dom": "^16.8.6", "style-loader": "^0.23.1", "webpack": "^4.31.0", "webpack-cli": "^3.3.2", "webpack-dev-server": "^3.3.1" } }
3.webpack.config.js
const path = require('path') module.exports = { devtool: "source-map", entry: { entry: './src/Main.js', }, output: { path: __dirname, filename: 'index1.js' }, resolve: { alias: { src: path.resolve(__dirname, 'src/') } }, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' }, { test: /\.css$/, exclude: /node_modules/, use: [ 'style-loader', { loader: 'css-loader', options: { modules: true, }, }, ], } ] }, devServer: { inline: true, open: 'Chrome' } }
4..babelrc
{ "presets": ["@babel/preset-env", "@babel/preset-react"] }
5.index.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Roles and Privileges</title> </head> <body style="background-color: #f9fafc; margin:0px;"> <div id="app"></div> <script type="text/javascript" src="index1.js"></script> </body> </html>
6.Main.js
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; ReactDOM.render( <App/>, document.getElementById('app') )
7.App.js
import React from 'react'; import Map from "./Map"; class App extends React.Component { render() { return (<div> <Map /> </div> ) } } export default App
8.Map.js
import React, { Component } from "react"; import Map from 'ol/Map.js'; import View from 'ol/View.js'; import TileLayer from 'ol/layer/Tile.js'; import XYZ from 'ol/source/XYZ.js'; import OlSourceOSM from "ol/source/OSM"; class PublicMap extends Component { constructor(props) { super(props); let modelDistribution = require('./config/modelDistribution.json'); this.mapConfig=modelDistribution.map this.initMap(); } componentDidMount() { this.olmap.setTarget("map"); } initMap(){ this.olmap = new Map({ target: null, layers: [ new TileLayer({ source: new XYZ({ url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}" }) }) ], view: new View({ projection: 'EPSG:4326', center:[-83.44, 42.60], zoom: 12 }) }); } render() { return ( <div id="map" style={{ width: "100%", height: "800px" }}> </div> ); } } export default PublicMap;
9. 效果图:
相关推荐
标题 "pro4js和openlayer版本配置" 涉及的是两个主要的JavaScript库在项目中的集成和配置:Pro4JS和OpenLayers。Pro4JS通常用于地理信息系统(GIS)开发,提供了一些实用的地理处理功能,而OpenLayers则是一个流行的...
React框架搭建是一个重要的前端开发步骤,它涉及到一系列的技术和工具,包括React库本身、React-Redux用于状态管理以及可能的Express.js用于后端服务。在这个过程中,开发者需要掌握如何配置项目环境,安装必要的...
此项目包含了 路由配置(嵌套路由) fetch请求接口 redux状态管理 webpack代理设置 蚂蚁金服ant使用 调用h5+手机摄像头功能,绝对物超所值,页面简单 但是架子稳定 涉及的知识全面
在本文中,我们将深入探讨如何一步一步地搭建一个React项目环境,包括使用React和Webpack的基础配置。React是一个流行的JavaScript库,用于构建用户界面,而Webpack是一个模块打包器,它能够管理和优化项目的依赖...
在现代Web应用开发中,React框架以其高效、可复用组件和声明式编程风格而备受青睐。当涉及到地理信息系统(GIS)或者地图功能时,如何将地图服务集成到React项目中就成为了一个重要的问题。本篇文章将深入探讨一个...
react框架搭建.xmind
在React开发中,集成地图功能是一项常见的需求,而高德地图API提供了丰富的地图服务,可以与React框架很好地结合。在本项目中,我们利用`react-amap`这个库,它是高德地图JavaScript API的React封装,使我们能够在...
在本文中,我们将深入探讨如何使用IntelliJ IDEA(IDEA)创建一个简单的React项目,并在其中添加一个点击计数组件。React是一个流行的JavaScript库,用于构建用户界面,特别是单页应用程序。它采用组件化的方式来...
`react-leaflet`允许开发者利用React的声明式编程风格来构建交互式的地图应用。 首先,我们需要理解React的基本概念。React是由Facebook开发的一个用于构建用户界面的JavaScript库,它提倡组件化开发,使代码更加可...
React 项目搭建是指使用 React 库创建一个新的项目,并进行基本的配置和设置。下面是 React 项目搭建的步骤: 步骤一:创建项目 创建一个新的 React 项目,使用 `create-react-app` 工具创建项目结构图。这个工具...
本项目"最简单的脚手架工具搭建的react实现路由和状态机demo"正是基于`create-react-app`创建的,它展示了如何在React应用中集成路由管理和状态管理。 首先,`create-react-app`是Facebook官方推出的用于创建React...
本篇文章将深入探讨如何利用React技术来实现这一功能,同时结合Haunted库提供的Web组件和React Hooks API,为开发者提供一个高效、简洁的解决方案。 首先,让我们了解React的基本概念。React是一个用于构建用户界面...
react-leaflet-heatmap-layer, 在反应传单中,heatmaps的自定义层 react-leaflet-heatmap-layerreact-leaflet-heatmap-layer 提供了一个简单的<HeatmapLayer/> 组件,用于在 react-leaflet 映射中创建热图图层。
总结来说,这个"react-electronreactreactroutermobxwebpack搭建的脚手架工程"是一个完整的桌面应用开发解决方案,它融合了前端和后端开发的最佳实践,为开发者提供了一个起点,以便快速启动具有响应式UI、动态路由...
在本文中,我们将深入探讨如何使用React和esri-loader库来加载天地图的源码。首先,让我们了解React,这是一个流行的JavaScript库,用于构建用户界面,特别是单页应用程序(SPA)。另一方面,esri-loader是专门为...
为了将百度地图无缝集成到React应用中,开发者通常会创建自定义的React组件,以便更好地利用React的生命周期管理和状态管理特性。本文将详细介绍一个基于React封装的百度地图组件,该组件还支持React Hook,从而简化...
从零开始搭建一个React项目开发 本文主要介绍了从零开始搭建一个React项目开发的整个过程,从生成package.json文件到安装依赖项、配置Webpack、启动开发服务器等。下面是相关知识点的详细解释: 一、生成package....
react+antd搭建前端管理框架(***支持响应式***),主要模块分为:菜单、选项卡、面包屑;通过路由监听,实现三个模块之间的联动(同时监听浏览器);状态采用react-redux进行集中管理。目前只包含前端代码,未与...
首先,`react-googlemap-react`库通过JavaScript API与Google Maps服务进行通信,为React应用提供了一种声明式的、基于组件的方式来创建地图。这意味着开发者可以像处理其他React组件一样,通过props来设置地图的...
Framer是一个强大的设计工具,它允许设计师和开发者创建交互式原型,而React则是一个流行的JavaScript库,用于构建用户界面。通过结合两者,我们可以构建出更加动态和真实的Web应用原型。 ### React基础 React是一...