react

vue2.x学习笔记(三十)

∥☆過路亽.° 提交于 2020-05-01 12:29:34
接着前面的内容: https://www.cnblogs.com/yanggb/p/12682902.html 。 状态管理 类Flux状态管理的官方实现 由于状态零散地分布在许多组件和组件之间的交互中,大型应用的复杂度也经常逐渐增长。为了解决这个问题,vue提供了vuex:受到Elm启发的状态管理库。vuex甚至被集成到vue-devtools中,无需配置即可进行时光旅行调试(time travel debugging)。 如果你是来自React的开发者,你可能会对vuex和redux之间的差异表示关注。redux是react生态环境中最流行的flux实现,redux事实上无法感知视图层,所以它能够轻松地通过一些简单的绑定与vue一起使用。vuex的区别在于它是一个专门为vue应用设计的状态管理工具,使得它能够更好地与vue进行整合,同时提供简洁的api和改善过的开发体验。 简单状态管理起步使用 一个经常被忽略的细节是,vue应用中原始的data对象的实际来源——当访问数据对象的时候,一个vue实例只是简单的代理访问。所以,如果你有一处需要被多个实例间共享的状态,可以简单地通过维护一份数据来实现共享: var sourceOfTruth = {} var vmA = new Vue({ data: sourceOfTruth }) var vmB = new Vue({ data

react 地图发布 cesium 篇

允我心安 提交于 2020-05-01 10:14:13
上篇文章介绍了如何搭建 react cesium 开发环境。在开发环境下,项目一切运行正常。最近把项目打包发布出来,却遇见了 cesium 不能正确初始化。打开浏览器的调试面板,出现好多 404,资源路径错误。下面是项目的资源处理过程整理,其中 cesium 需要独立处理,大家以后要注意。 一、react 静态资源处理 修改 config/paths.js function getServedPath(appPackageJson) { ... const servedUrl = envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : "./" ); ... } 二、cesium 资源处理 这个是重点,如果不处理,项目构建后会无法正常运行,cesium 资源会报 404 错误。主要思路是,在加载 cesium 之前设置 cesium 资源的 baseUrl,调用 cesium 自带的 buildModuleUrl 函数来设置 baseUrl。 修改 /src/index.js,增加如下代码 ... import buildModuleUrl from "cesium/Core/buildModuleUrl" ; buildModuleUrl.setBaseUrl( "./" ); ... 三、关闭 cesium

3D GIS 应用开发 —— 基于 Mapbox GL 的实践总结

血红的双手。 提交于 2020-05-01 07:05:34
最近在折腾的 web 端的可视化项目,由于相关业务的需要,用到了 Mapbox 这一地图开发的神器。在此先奉上一个基于mapbox-gl实现的demo(来源: uber的deck.gl项目 ): 下面我们从这个项目一步步来介绍 Mapbox 的前端 GIS 引擎 Mapbox GL JS . 一、简单了解 首先,Mapbox 在地图领域是一家很 Newbee 的公司。已为 Foursquare、Pinterest、Evernote、金融时报、天气频道、优步科技 等公司的网站提供了订制在线地图服务。 自2010年起,该公司快速地拓展了订制地图的市场地位,以回应 Google地图 等地图供应商提供的有限选择。Mapbox 是一些开放源代码地图库及应用程序的创建者或最大的贡献者,其中包含了MBTiles 规范、TileMill 制图 IDE、Leaflet JavaScript 库,以及 CartoCSS 地图格式化语言与语法分析器等。 该公司的数据同时从开放与专有的来源获取,开放的数据源如 开放街图(OSM, Open Street Map) 以及 NASA 等,而专有的数据源则包含了 DigitalGlobe。其技术奠基于 Node.js、CouchDB、Mapnik、GDAL 与 Leafletjs。 Mapbox 针对不同平台均开发了相应的 GIS

小程序技术始于微信?来看看移动端小程序技术的前世今生!

风流意气都作罢 提交于 2020-05-01 04:27:24
本文由DCloud 公司创始人王安原创发布于CSDN,原题《小程序技术演进史》,即时通讯网收录时有改动,感谢原作者。 1、引言 微信的成功,并非特定于某个具体的功能,微信的成功实际上是一大批创新技术和体验的成功合集,这也是它为何如此难此被超越的根本原因。 作为微信这个超级社交应用中最为亮眼的技术之一——微信小程序,俨然已成历移动端小程序的代名词,很多人一提起“小程序”3个字就条件反射式地认为是微信小程序。事实是,小程序技术并非微信独创,它的出现和演进,实际上包含了一大批各类公司、各产品技术先驱们的努力。 实际上,早在微信小程序之前,有力推轻应用的百度,有来自 HTML5 中国产业联盟的 DCloud 所主张的流应用,但最终却都已经淹没在了移动互联网的历史长河之中。唯有微信小程序风生水起,更是带动了巨头们的争相入场。 小程序迎来了专属于中国移动互联网的群雄逐鹿的时代。 本文作者王安即是流应用的创造者,作为移动领域的老兵,他依然在矢志不移地构建移动开发工具框架及生态,从原生应用到 HTML5 再到如今的小程序,他是这段历史的见证者、参与者。 本篇文章,将为你盘点移动端小程序技术的前世今生。通过本文,我们能够鲜活地看到小程序的技术演进历程,以及对于所有开发者来说,终将去往何处。 (本文同步发布于: http://www.52im.net/thread-2645-1-1.html ) 2

npm start后报错cross-env NODE_ENV=demo webpack-dev-server 的解决

ぐ巨炮叔叔 提交于 2020-05-01 03:55:57
拉取了项目后,cnpm install安装依赖,然后再npm start运行报错: Error: spawn webpack-dev-server ENOENT at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19) at onErrorNT (internal/child_process.js:415:16) at process._tickCallback (internal/process/next_tick.js:63:19) at Function.Module.runMain (internal/modules/cjs/loader.js:832:11) at startup (internal/bootstrap/node.js:283:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3) Emitted 'error' event at: at Process.ChildProcess._handle.onexit (internal/child_process.js:246:12) at onErrorNT (internal/child_process.js:415:16) [... lines

前端异步的一种方法库:axios

无人久伴 提交于 2020-05-01 02:51:45
关于 axios ,其实原本在做开发的几年里并不知道,一直使用的也都是 jquery 的 ajax 。后来因为一个同事的述说,我才知道有这么个库,基于 promise 的http库。 看来,以前的我确实比较井底之蛙了。以为前端就是这么点东西。 已至于 react、vue、angular 也是因为后来项目准备使用react开发的时候才知道的。 一直只用es5,异步只用ajax,导致es6也没有花太多时间去学习。后来才知道es6中的一种异步是promise。 这次我们就来说一下axios: axios是支持 浏览器和node 2种运行平台的,基于promise,可以自动识别json,可防止跨站请求伪造CSRF。 浏览器 中使用 axios : 我们来看个请求: 其实也和jquery的ajax请求差不多。 axios的 get 请求方式1: axios的 get 请求方式2: 两种请求就是参数的传递方式不同。一个直接拼接url,一个传个对象 这里的 then 是 promise 的,用于表示请求成功后的回调处理,后面的catch表示请求失败后的回调处理 请求方式: 请求和响应结果相同:返回很多信息。有用的一般有data、status、statusText,其他的看情况使用,比如请求头。 axios的 post 请求方式: 其实就是换下名字 请求方式: 响应结果就是post的响应结果了。

Visual Studio开发首选!DevExtreme v19.1.6全新来袭

筅森魡賤 提交于 2020-04-30 13:58:22
DevExtreme Complete Subscription 是性能最优的 HTML5,CSS 和 JavaScript 移动、Web开发框架,可以直接在Visual Studio集成开发环境,构建移动应用程序。从Angular和React到ASP.NET MVC或Vue,DevExtreme包括一系列高性能和响应式UI小部件,用于传统的Web和下一代移动应用程序。 该套件附带功能完备的数据网格、交互式图表小部件、数据编辑器等,借助DevExtreme,您可以为现代Web浏览器提供出色的用户体验。DevExtreme是Visual Studio开发人员开发跨平台移动产品的首选工具。 具体更新内容如下: 【 DevExtreme v19.1.6下载 】 此列表包含v19.1.6中已解决的所有问题。 All HTML JS products T806887 - DevExtreme打破了IE 11中的"mousewheel"事件 ASP.NET Core Dashboard T718398 - Web Dashboard - 如果启用Select All功能,则键盘导航在列表框仪表板项中的工作不正确 DevExtreme Core T808649 - DevExtreme小部件在iOS 12上的最新Firefox中不起作用 T750751 -

解决微信H5静默授权获取code以及H5页面历史回退死循环问题

风格不统一 提交于 2020-04-30 13:07:57
摘要    近期在开发H5页面相关需求,需求中有个微信静默授权登录的功能,之前没有接触过这个功能,经过调研官方文档,开发出了初级方案;初级方案可以解决获取code,但是页面返回上一个页面时,需要连续返回两次才可以回到上一个页面。经过获取流程分析,解决了返回循环的bug。 初级方案原理    当时调研完官方文档后,发现授权流程是重定向的方式,就傻白甜的直接在需要微信code的页面直接获取code并跳转回当前页,这样就造成了页面获取死循环的bug。为了解决获取code死循环的bug,在获取code时,建立一个中间也获取微信的code,code获取后将code存储到sessionStorage里,最后再重定向回页面,具体流程如下图所示: ·初级方案路由history    从路由history可以看出,初级方案建立一个微信获取code的页面,于是在路由的history多了一层授权的路由,所以返回作品列表需要连续返回两次才会回到列表页。路由history堆栈表如下图所示: 终极方案原理    根据初级方案的授权模式进行改动,进入作品详情页判断UrlCode和localCode是否都有值,值为空或者null,获取微信code。当urlCode有值时,执行history.goback(),这样既可以防止页面循环获取code刷新操作,又可以去除history中获取微信code的历史路由

React视频教程2019 React Native视频合集 Redux视频 react16.8+redux项目实战 react核心技术详解

被刻印的时光 ゝ 提交于 2020-04-29 20:34:46
系列一:2019教你用react native+redux+flatlist的混合开发技术开发高质量的APP全面屏兼容 第1章 学习攻略【课程提供700+问题与答案库】 【你遇到的坑,别人已经出坑了,课程提供700+问题与答案库】【老师是位答题狂,问答区的问题有问必答】【课程安排:1-5章(入门进阶)-> 6-11章(实战提升) -> 12-16章(拓展拔高)】,课程每个核心章为大家添加了N个练习作业,让大家带着问题去学习,学完本章后又可以将所学知识进行巩固和检验。… 1-1 课前必读(不看会错过一个亿) 1-2 课程导学 试看 第2章 【赠送内容】React Native基础理论知识加油站【选看】 课程定位项目实战,但考虑到一些同学RN基础不扎实,可能在实战环节会有难度,所以为了学习更容易,为大家准备了一章基础理论知识,【有RN基础的同学可跳过这一章,直接进入项目实战环节】。 2-1 【赠送内容】【补充弹药】开发环境搭建指导-iOS平台 2-2 【赠送内容】【补充弹药】开发环境搭建指导-Windows平台 2-3 【经验传授,不看后悔】React Native项目调试讲解 2-4 【理论熏陶】ES6,ES7,ES8学习指南-1 2-5 【理论熏陶】ES6,ES7,ES8学习指南-2 2-6 【理论熏陶】ES6,ES7,ES8学习指南-3 2-7 【欲练此功,必修内功

还学的动吗? 盘点下Vue.js 3.0.0 那些让人激动的功能

霸气de小男生 提交于 2020-04-29 19:32:15
转载请注明出处: 葡萄城官网 ,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 原文出处:https://blog.bitsrc.io/vuejs-3-0-0-beta-features-im-excited-about-c70b82fac163 路漫漫其修远兮,吾将上下而求索。——献给所有为 Vue的发展而默默付出的开发者们。 (图片来源于网络) 前几天,Vue正式进入了beta阶段,作为一个日渐流行的JavaScript库,Vue.js由Evan You和Vue社区的284多名成员创建。如今,它已拥有超过120万用户,并成为用来解决大型单页web应用程序的有效手段。 (图片来源于网络) 在撰写本文时,Vue.js 3.0.0已经对外发布了Beta版,其中最重要的变化是受React Hooks的启发,在新的API中允许使用基于函数的方式编写组件。 (图片来源于网络) 以下是Vue.js 3.0.0 中的新功能: 允许使用基于函数的方式编写组件 虚拟DOM重写可提高性能并改善TypeScript支持 原生门户 Fragments 片段(不会在DOM树中渲染的虚拟元素) 全局mounting 有条件地暂停组件渲染 我们将从性能、代码优化(Tree-shaking)、函数式API(Composition API)等方面,盘点 Vue.js 3.0.0