前端

JavaScript自动化构建工具grunt、gulp、webpack介绍

怎甘沉沦 提交于 2020-02-28 03:14:17
前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力。当今时代,前端工程师需要维护的代码变得及为庞大和复杂,代码维护、打包、发布等流程也变得极为繁琐,同时浪费的时间和精力也越来越多,当然人为的错误也随着流程的增加而增加了更多的出错率。致使每一个团队都希望有一种工具,能帮助整个团队在开发中能精简流程、提高效率、减少错误率。随之讨论自动化部署也越来越多,并且国内很多大型团队也都有自己成熟的自动化部署工具。据我所知,百度有FIS,腾讯有Modjs,360有燕尾服,还有很多团队在使用Ant,Shell等。 -------------------------------- Grunt: JavaScript世界的构建工具 -- Grunt中文网 http://www.gruntjs.net/ grunt是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:压缩文件,合并文件,简单语法检查。 GRUNT JavaScript 世界的构建工具 为何要用构建工具? 一句话:自动化。对于需要反复重复的任务,例如压缩(minification)、编译、单元测试、linting等,自动化工具可以减轻你的劳动,简化你的工作。当你在 Gruntfile 文件正确配置好了任务

微前端在美团外卖的实践

橙三吉。 提交于 2020-02-27 23:10:02
背景 微前端是一种利用微件拆分来达到工程拆分治理的方案,可以解决工程膨胀、开发维护困难等问题。随着前端业务场景越来越复杂,微前端这个概念最近被提起得越来越多,业界也有很多团队开始探索实践并在业务中进行了落地。可以看到,很多团队也遇到了各种各样的问题,但各自也都有着不同的处理方案。诚然,任何技术的实现都要依托业务场景才会变得有意义,所以在阐述美团外卖广告团队的微前端实践之前,我们先来简单介绍一下外卖商家广告端的业务形态。目前,我们开发和维护的系统主要包括三端: PC系统:单门店投放系统PC端 H5系统:单门店投放系统H5端 KA系统:多门店投放系统PC端 如上图所示,原始解决方案的三端由各自独立开发和维护,各自包含所有的业务线,而我们的业务开发情况是: PC端和H5端相同业务线的 基本业务逻辑一致 ,UI差异大。 PC端和KA端相同业务线的 部分业务逻辑一致 ,UI差异小。 在这种特殊的业务场景下,就会出现一个有关开发效率的抉择问题。即我们希望能复用的部分只开发一次,而不是三次。那么接下来,就有两个问题摆在我们面前: 如何进行 物理层面的复用 (不同端的代码在不同地址的Git仓库)。 如何进行 逻辑层面的复用 (不同端的相同逻辑如何使用一份代码进行抽象)。 我们这里重点看一下物理层面的复用,即:如何在物理空间上使得各自独立的三端系统(不同仓库)引入我们的复用层?我们尝试了NPM包

[Web 前端] webstorm 快速搭建react项目

99封情书 提交于 2020-02-27 21:50:17
cp from : https://blog.csdn.net/qq_39207948/article/details/79467144 前端新手如何安装webstorm ,初步搭建react项目 下载安装webstorm:配置成功: 配置成功后就可以开启webstorm项目了。(存微信收藏、、) 1:在webstorm下配置node环境: 2:完成之后: React官方脚手架地址: https://github.com/facebook/create-react-app 在终端下安装执行npm install -g create-react-app 不用每个项目都装。一个webstorm装一次即可 3:可以直接新建react app项目了。 4:如上图:自己安装完成之后:执行下 npm list -depath0 (查看所下载的不为空的依赖包) 或者 npm ls (查看所下载的所有的依赖包包括空文件) 完成并开启入口 5:最后可以自己完成自己react项目 注意的是:一定要有顶层包裹的元素:如果不是报错 如下图: 6:初始化: 新建一个component文件夹下。并建一个header.js 如下图:按钮控制内容的显隐性 缩写的class后面的类 Header 一定的要大写、 如果需要导出到其它地方引用必须 export default这个类 7:引用导出的组件 7: 8

前端验证,JQuery AJAX

非 Y 不嫁゛ 提交于 2020-02-27 18:37:15
尽量 不要使用,影响效率 给form表单设id nice-validator是一款前端校验插件,引入插件 < script type = "text/javascript" src = "view/static/js/jquery.js" > < / script > < script type = "text/javascript" src = "view/static/js/jquery.validator.min.js" > < / script > < script type = "text/javascript" src = "view/static/js/zh-CN.js" > < / script > $ ( function ( ) { $ ( '#myForm' ) . validator ( { rules : { //自定义remote规则(注意:虽然remote规则已经内置,但这里的remote会优先于内置)通过后台验证 //验证账号是否存在,ajax后台验证 remote : function ( element ) { /* alert(element.name); alert(element.value); */ return $ . ajax ( { url : 'assertionStaff' , type : 'post' , data :

515,前端性能优化--减少http请求(待补充)

蹲街弑〆低调 提交于 2020-02-27 15:58:18
对于影响页面呈选的因素有三个地方:服务器连接数据库并计算返回数据,http请求以及数据(文件)经过网络传输,文件在浏览器中计算渲染呈选;其中大约80%的时间都消耗在了http的请求上,所以要想大幅度的优化页面,必须从http请求上入手 来源: https://www.cnblogs.com/1998Archer/p/12372257.html

js文件分片上传,断点续传

痴心易碎 提交于 2020-02-27 14:27:20
核心原理: 该项目核心就是文件分块上传。前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题。 * 如何分片; * 如何合成一个文件; * 中断了从哪个分片开始。 如何分,利用强大的js库,来减轻我们的工作,市场上已经能有关于大文件分块的轮子,虽然程序员的天性曾迫使我重新造轮子。但是因为时间的关系还有工作的关系,我只能罢休了。最后我选择了百度的WebUploader来实现前端所需。 如何合,在合之前,我们还得先解决一个问题,我们如何区分分块所属那个文件的。刚开始的时候,我是采用了前端生成了唯一uuid来做文件的标志,在每个分片请求上带上。不过后来在做秒传的时候我放弃了,采用了Md5来维护分块和文件关系。 在服务端合并文件,和记录分块的问题,在这方面其实行业已经给了很好的解决方案了。参考迅雷,你会发现,每次下载中的时候,都会有两个文件,一个文件主体,另外一个就是文件临时文件,临时文件存储着每个分块对应字节位的状态。 这些都是需要前后端密切联系才能做好,前端需要根据固定大小对文件进行分片,并且请求中要带上分片序号和大小。前端发送请求顺利到达后台后,服务器只需要按照请求数据中给的分片序号和每片分块大小(分片大小是固定且一样的)算出开始位置,与读取到的文件片段数据,写入文件即可。 为了便于开发,我 将服务端的业务逻辑进行了如下划分,分成初始化

php web 大文件上传源代码

房东的猫 提交于 2020-02-27 12:31:34
核心原理: 该项目核心就是文件分块上传。前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题。 * 如何分片; * 如何合成一个文件; * 中断了从哪个分片开始。 如何分,利用强大的js库,来减轻我们的工作,市场上已经能有关于大文件分块的轮子,虽然程序员的天性曾迫使我重新造轮子。但是因为时间的关系还有工作的关系,我只能罢休了。最后我选择了百度的WebUploader来实现前端所需。 如何合,在合之前,我们还得先解决一个问题,我们如何区分分块所属那个文件的。刚开始的时候,我是采用了前端生成了唯一uuid来做文件的标志,在每个分片请求上带上。不过后来在做秒传的时候我放弃了,采用了Md5来维护分块和文件关系。 在服务端合并文件,和记录分块的问题,在这方面其实行业已经给了很好的解决方案了。参考迅雷,你会发现,每次下载中的时候,都会有两个文件,一个文件主体,另外一个就是文件临时文件,临时文件存储着每个分块对应字节位的状态。 这些都是需要前后端密切联系才能做好,前端需要根据固定大小对文件进行分片,并且请求中要带上分片序号和大小。前端发送请求顺利到达后台后,服务器只需要按照请求数据中给的分片序号和每片分块大小(分片大小是固定且一样的)算出开始位置,与读取到的文件片段数据,写入文件即可。 为了便于开发,我 将服务端的业务逻辑进行了如下划分,分成初始化

学习Java一年的心路历程

雨燕双飞 提交于 2020-02-27 12:05:34
学习Java一年的心路历程 其实,很早就打算通过写博客的方式来记录自己再Java学习开发中的一些经验和有趣的事情。 今天终于有勇气来迈出第一步啦! 总感觉嘛,世界这么大,比自己要努力要强大的程序员要数不胜数,也许我发表的一些东西在自己看来是很重要的知识,在别人看来就是很基础的常识。于是一直都是想开始自己的博客又没有足够的勇气和实力支撑自己去完成。不知不觉一年过去了,我从一个bat都不知道什么意思的小小白,一点一点的有所成长,我渐渐发现其实在这个有很多很多和我一样在路上,还有很多正准备一起走在同一条路上的朋友,也许我写不出特别高深精明的开发方法,但是我希望我能用我的经历和感受带给一些小小白适当的帮助。 今天当我打开电脑的时候,发现我接触这个行业已经有了一年的时间了。还记得刚开始的时候我还不知道什么是前端(前端指的是用户可见的界面,网站前端页面也就是网页的页面开发)和后端(后端是指用户看不见的东西,通常是与前端工程师进行数据交互及网站数据的保存和读取),然后就匆匆忙忙的开始了前端的学习,我开始学习了HTML,CSS,做了一个简单的京东商城静态页面。那个时候真的感觉自己好厉害,十分有成就感,感觉自己很快就可以变成一个成熟的程序员了吧,唉,真是天真的像个一个孩子!后来学js又学了一些技术和页面布局,我总感觉这不是我想要的,我好像距离理想中的程序开发越来越远

node基础

拜拜、爱过 提交于 2020-02-27 11:19:23
高并发,负载均衡。自己写接口,自己调接口 node其实也是一门js。多了一些api 1.node的作用和应用 脱离浏览器运行JS(调用cpu,内存,文件的读写) 后台api编写(前端就是写页面和调接口) webpack,gulp,npm等等(前端这些工程化工具都是强依赖node) 中间层:服务器中负责IO读写的中间层服务器(文件读写,数据库查询中间层做比较好) 传统的 浏览器 ---请求-------> 服务器 服务器-------返回---->浏览器 node 浏览器--------------> node中间层 --------------->服务器 1.性能 (js异步IO特性导致天生适合处理高并发)(天猫每秒都是几十万的请求,node 中间层先接住,然后有条不絮的让真正的后端处理) node 中间层还能加缓存 2.帮忙处理数据 //前端想渲染json数据 后端给的数组(后端没时间处理,数据比较大的 时候,消耗浏览器性能) 》》》node在中间层可以帮忙处理 3.安全性 程序员离职,留了一些后门,漏洞被人发现。黑客可以之间面对后台 把后台攻破了。有了node中间层。多了一道门 2.登陆注册案例 注册的时候:发送post请求,通过formdata对象上传 账户名和密码 登陆的时候:发送get 请求 ,通过url中的? 传送用户名和密码 3.node的优势(自带包管理工具npm)

Web前端作为移动互联网时代的前沿技术,就业前景怎么样 ?

被刻印的时光 ゝ 提交于 2020-02-27 06:52:49
信息技术的迅速发展,使IT技术者们赶上了一个百年难遇的好机会,尤其是国家出台了“互联网+”的政策后,更是催生了IT行业的就业空间,使其呈现爆发性增长。如今,微信逐渐成为了大家主要的交流工具,随着各种小程序游戏风靡朋友圈之后,其从业人员Web前端开发工程师的薪资可谓是一路高涨。细心观察下大家不难发现,就目前来看,Web前端作为移动互联网时代的前沿技术,不仅在电脑端,而且在手机端也得到了广泛的应用。 早期互联网时代,电脑端的网站页面主要以静态为主,相对来说也没那么复杂。而现在随着网络信息逐渐丰富,网页发生了很大的变化,企业更加注重用户交互,各种产品层出不穷,好产品想要长久发展,用户体验就变得尤为重要,特别是移动端产品。 学完Web前端开发后,可以从事网站前端工程师、网页制作工程师、前端制作工程师、网站重构工程师、前端开发工程师等工作,这些方向算是一个网站前端最基本的选择了。也可以从事资深网站架构师,对于一个大局观好、悟性好、知识面广的前端工程师来说,走网站架构师是一个非常好的路线。当然,你也可以自己创业,或转岗管理和其他岗位。 大家熟知的Facebook就是Web前端技术的产物,完全基于前端框架打造出来的平台。另外,外卖平台饿了么旗下的部分产品也是基于Web前端技术的。像淘宝,百度,阿里等等,都已经将Web前端技术打入到了自己的产品中。 很多人在没有接触过Web前端之前