spa

npm、webpack、Gulp 中文教程

僤鯓⒐⒋嵵緔 提交于 2020-04-28 04:41:50
按顺序阅读 1. npm 模块管理器 2. package.json 文件 3. npm 模块安装机制简介 4. npm scripts 使用指南 5. CommonJS 规范 随着 es6 模块化特性的出现,慢慢的在线编译模块方案将被淘汰。 6. webpack 中文文档 7. webpack-demos 选读: es6 Module 的语法 npx 是什么 npx: npm 5.2.0 内置的包执行器 SPA(单页面 web 应用)和 MPA(多页面 web 应用)的区别 gulp 有哪些功能是 webpack 不能替代的? - 寸志的回答 Gulp:任务自动管理工具 总结:webpack 不适用多页面应用,单页面应用首选 转自: http://meia.fun/article/1542268422095 来源: oschina 链接: https://my.oschina.net/u/4412687/blog/3742584

单页面应用程序(SPA)的优缺点

妖精的绣舞 提交于 2020-04-28 03:01:39
  我们通常所说的单页面应用程序通常通过前端框架(angular、 react 、 vue )进行开发, 单页面应用程序 将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript 和 CSS。一旦页面加载完成了,SPA不会因为用户的操作而进行页面的重新加载或跳转。取而代之的是利用 JavaScript 动态的变换HTML的内容,从而实现UI与用户的交互。由于避免了页面的重新加载,SPA 可以提供较为流畅的用户体验。 一、优点 1.良好的交互体验   单页应用的内容的改变不需要重新加载整个页面,获取数据也是通过Ajax异步获取,没有页面之间的切换,就不会出现“白屏现象”,也不会出现假死并有“闪烁”现象,页面显示流畅,web应用更具响应性和更令人着迷。 2.良好的前后端工作分离模式   后端不再负责模板渲染、输出页面工作,后端API通用化,即同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端。 3.减轻服务器压力   单页应用相对服务器压力小,服务器只用出数据就可以,不用管展示逻辑和页面合成,吞吐能力会提高几倍。 二、缺点 1.首屏加载慢 如果不对路由进行处理,在加载首页的时候,就会将所有组件全部加载,并向服务器请求数据,这必将拖慢加载速度; 通过查看Network,发现整个网站加载试讲长达10几秒

Vue-Router 基础入门教程

青春壹個敷衍的年華 提交于 2020-04-27 17:48:06
前言 这周的计划是用VUE将之前的小demo的前端给重构了,并且做成前后端分离的样式,因为之前的那个聊天室的demo几乎都是在一个路由上完成的,所以学习Vue-router是不可避免的,本次笔记是我在学习vue-router这个框架过程中的一些笔记。中间也穿插了部分知识点,希望能帮助到正在学习Vue-router的朋友。 什么是vue-router? 注意:这里的路由并不是指我们平时所说的硬件路由器,这里的路由就是SPA(单页应用)的路径管理器。再通俗的说,vue-router就是WebApp的链接路径管理系统。比如你点一个连接,vue-router会帮你匹配到相关的视图,并且返回给你。 Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。简直不要太爽。最后一句是我自己加的。 既然官网说了,VUE主要构建单页应用,那什么是单页应用,SPA。 注意:这里的SPA 不是各种会所的那种SPA,而是SPA(single page application),单一页面程序,怎么理解单一页面程序,就是整个应用编译之后就只有一个index.html文件,和我们之前做的那些写一堆html,css思路截然不同,单页面应用的思路是一个index.html里面有一个容器,在用户进行交互的时候,并不会重新加载某个界面

【带着canvas去流浪(9)】粒子动画

一曲冷凌霜 提交于 2020-04-27 17:35:56
示例代码托管在: http://www.github.com/dashnowords/blogs 博客园地址: 《大史住在大前端》原创博文目录 华为云社区地址: 【你要的前端打怪升级指南】 [TOC] 一. 粒子特效 粒子特效一般指密集点阵效果,它并不是canvas独有的,这个名词更多出现在 AE , cocos2d , Unity 相关的教程中,并且提供了方便的编辑插件让使用者可以轻松地做出例如烟火,流星,光晕等等动态变化的效果,看起来非常酷炫。如果你接触过 Three.js ,会发现三维空间的点阵效果看起来更生动。粒子特效的本质还是一个逐帧动画,所以我们仍然可以使用上一节中提到的动画编程范式来实现它。本节的教程将实现下面这样一个粒子效果: 这是笔者第5个版本,看起来还挺像回事的吧,本篇中我们将逐步实现这样一个酷炫的粒子动画,也邀请你一起来看看开发过程中那些各种令人哭笑不得的问号黑人脸时刻。 二. 开发中遇到的问题 2.1 卡顿 想实现上面的动画,我们首先要做的是构建一个静态的粒子点阵,构建的过程并不复杂,无非就是 x 和 y 两个方向上以固定间距来画点。如果我们将单个粒子定义为精灵,而不是粒子群,那么按照上一节的开发范式,我们会在逐帧动画的执行函数 step 中按照如下的方式来更新粒子点阵的状态: function step(){ ... particles.map

网络实验 05-快速生成树配置

泄露秘密 提交于 2020-04-26 22:49:59
快速生成树配置 一、实验目标 理解生成树协议工作原理 掌握快速生成树协议RSTP基本配置方法 二、实验背景 学校为了开展计算机教学和网络办公,建立了一个计算机教室和一个校办公区,这两处的计算机网络通过两台交换机互相连接组成内部校园网,为了提高网络的可靠性,作为网络管理员,你要用2条链路将交换机互连,现要求在交换机上做适当的配置,使网络避免环路 三、技术原理 生成树协议(spanning-tree),作用是在交换网络中提供冗余备份链路,并且解决交换网络中的环路问题 生成树协议是利用SPA算法,在存在交换环路的网络中生成一个没有环路的树形网络。运用该算法将交换网络的冗余备份链路从逻辑上断开,当主链路出现故障时,能够自动的切换到备份链路,保证数据的正常转发 生成树协议版本:STP、RSTP(快速生成树)、MSTP(多生成树协议) 生成树协议的特点是收敛时间长,从主要链路出现故障到切换至备份链路需要50秒的时间 快速生成树协议在生成树协议的基础上增加了两种端口角色:替换端口和备份端口,分别做为根端口和指定端口的冗余端口。当根端口或指定端口出现故障时,冗余端口不需要经过50秒的收敛时间,可以直接切换到替换端口或备份端口,从而实现RSTP协议小于1秒的快速收敛 四、实验步骤 实验拓扑 默认情况下STP协议启用的,通过两台交换机之间传送BPDU协议数据单元,选出根交换机、根端口等

cartographer 分析

别等时光非礼了梦想. 提交于 2020-04-25 18:36:43
原文链接: http://blog.csdn.net/zyh821351004/article/details/52421005 cartographer与karto的比较 1. 两者采取的都是图优化框架。 采取的优化库不一致, karto采取的是spa(karto_slam)或g2o(nav2d), cartographer采取的是google的ceres构建problem优化。 karto的前端与后端采取的是单线程进行,cartographer按paper说明,采取的是4线程后端优化,还在进一步确定。 2. 运动预测部分:tracker karto利用的是odom进行初始位置的预测, cartographer部分利用imu构建预测模型,scanmatcher与odom(可选)构建观测模型,采取UKF进行运动预测, cartographer带有tracker的说法。 // Implementation of a Kalman filter. We follow the nomenclature from Thrun, S. et al., Probabilistic Robotics, 2006. // Extended to handle non-additive noise/sensors inspired by Kraft, E., A // Quaternion

.NET微信网页开发之JS-SDK使用步骤和配置信息timestamp(时间戳),nonceStr(随机串),signature(签名),access_token(接口调用凭据)的生成获取讲解

♀尐吖头ヾ 提交于 2020-04-24 14:07:39
前言:   因为接下来会有几篇关于微信JS-SDK功能使用的文章,主要会对微信分享,获取设备信息,获取地理位置,微信扫一扫这几个功能进行讲解。而这几个功能都是围绕着微信JS-SDK实现的,首先使用微信JS-SDK时我们需要生成对应的配置信息,才能够成功的调用微信JS-SDK。看了下微信官方文档对于accessToken和jsapi_ticket的生成示例代码并没有看到咱们大.Net的,所以为了帮助那些刚接触微信开发的同学,在这里我会把自己在使用微信JS-SDK的一些步骤和配置信息生成的方法展示出来,希望能够和大家相互学习共同进步。 微信JS-SDK详情说明请移步微信官方文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 JSSDK使用步骤: 步骤一、绑定安全域名: 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 步骤二、引入JS文件: 在需要调用JS接口的页面引入如下JS文件,(支持https): http://res.wx.qq.com/open/js/jweixin-1.4.0.js 项目中: <script src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script> 步骤三

我今年24岁,即将失明,还能继续写代码吗?

六眼飞鱼酱① 提交于 2020-04-24 13:35:29
  机器之心报道    参与:张倩、泽南   一位 24 岁的程序员,两年前被诊断出尤塞氏综合症(又称遗传性耳聋-色素性视网膜炎综合征)。随着时间的推移,这一疾病可能会逐渐夺走他的听力、视力。那么,以后的职业生涯该怎么办?还能继续写代码吗?这位年轻的全栈工程师在 HackerNews 上发出了求助信息。      这位工程师表示,他有 7 年工作经验,主要从事 JavaScript 项目,还有一些 PHP。对于一个没有正规教育经历的年轻人来说,他走到这一步实属不易。急速下降的视力让他不得不考虑以后的人生,但在编程方面已经付出了那么多,他也不想轻易放弃。   因此,他想知道:   有盲人前端工程师吗?   什么样的软件工程适合视力受限的人?后端吗?   除了屏幕朗读器,还有哪些工具能帮助视力受损的程序员?   你所在的公司会雇佣盲人程序员吗?如果会,效果怎么样?他们都做哪种编程项目?   身患先天性疾病是一件令人悲伤的事,但生活还是要继续。作者的提问在 HackerNews 上获得了不少暖心的回复,并迅速被顶到了 3000+的热度:我们很少看到会有如此意见一致的情况。在这其中,也有盲人程序员现身说法。   用户 @kolanos 的回答获得了最多的点赞:   你绝对可以继续担任软件工程师,我就是活生生的例子。这并不简单,尤其是在一开始

一个Java程序猿眼中的前后端分离以及Vue.js入门

我与影子孤独终老i 提交于 2020-04-22 06:36:15
松哥的书里边,其实有涉及到 Vue,但是并没有详细说过,原因很简单,Vue 的资料都是中文的,把 Vue.js 官网的资料从头到尾浏览一遍该懂的基本就懂了,个人感觉这个是最好的 Vue.js 学习资料 ,因此在我的书里边就没有多说。但是最近总结小伙伴遇到的问题,感觉很多人对前后端分离开发还是两眼一抹黑,所以今天松哥想和大家聊一下前后端分离以及 Vue.js 的一点事,算是一个简单的入门科普吧。 前后端不分 后端模板:Jsp、FreeMarker、Velocity 前端模板:Thymeleaf 前后端不分,Jsp 是一个非常典型写法,Jsp 将 HTML 和 Java 代码结合在一起,刚开始的时候,确实提高了生产力,但是时间久了,大伙就发现 Jsp 存在的问题了,对于后端工程师来说,可能不太精通 css ,所以流程一般是这样前端设计页面-->后端把页面改造成 Jsp --> 后端发现问题 --> 页面给前端 --> 前端不会Jsp。这种方式效率低下。特别是在移动互联网兴起后,公司的业务,一般除了 PC 端,还有手机端、小程序等,通常,一套后台系统需要对应多个前端,此时就不可以继续使用前后端不分的开发方式了。 在前后端不分的开发方式中,一般来说,后端可能返回一个 ModelAndView ,渲染成 HTML 之后,浏览器当然可以展示,但是对于小程序、移动端来说,并不能很好的展示

vue路由核心要点(vue-router)

試著忘記壹切 提交于 2020-04-22 05:52:07
目录 [toc] 引言:该篇主要讲的是关于vue-router的原理以及使用等问题,以及面试中常被问到的几个点,有部分还未整理后续会继续更新; 1.vue-router 是什么? Vue-router就是WebApp的链接路径管理系统。vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用 在之前常用的是用a标签进行跳转,现在做的是单页面应用,所以必须使用v-router进行管理 2.如何使用v-router? 1. 下载 cnpm i vue-router -S 2.在index.js中引入路由的核心模块 import VueRouter from 'vue-router' 3.注册路由插件 Vue.use(VueRouter) 4.创建路由对象并且配置路径 这里有两种情况, 一级路径 例如 "/film"可以如下写法即可,表示跳转/cinema页面渲染Cinema组件 注意:别忘了引入该组件 const routes = [ { path: '/cinema', component: Cinema } ] 嵌套路由 : 这种情况下不会把cinema的组件内容覆盖 可以实现单组件切换内容 跟选项卡效果差不多 <img src='https://img2018.cnblogs.com/blog/1918240/202002