gulp和webpack学一个就够了吗
是的,你可以选择学习一个,因为gulp和webpack都是用于前端资源处理的工具,它们的功能非常相似。
gulp是一个基于node.js的流处理工具,用于快速构建项目。它使用简单易懂的API,可以方便地自动化任务,比如压缩、合并、编译SASS等。此外,gulp还支持插件,可以方便地扩展其功能。
webpack则是一个模块打包工具,用于将前端资源打包成浏览器可以识别的格式。它支持各种文件类型,包括JavaScript、CSS、图片等,并且可以自动化处理这些资源。此外,webpack还支持各种插件,可以方便地扩展其功能。
总的来说,两者都可以完成前端资源的处理任务,但是它们的使用方式和特点略有不同。你可以根据自己的需求和喜好来选择一个学习即可。
gulp和webpack虽然都是基于nodejs,但是两者各有优缺点,gulp只能做到压缩文件,而webpack是压缩,分离,把非标准格式转成标准的,可以被浏览器识别的格式。
为什么我不建议使用npm做前端包管理
会产生冗余问题
前端与后端使用同一套包管理软件可以减少公共部分的耦合,但是会导致不必要的冗余。
比如一个bootstrap包,是不可能被后端使用的。但是如果统一使用npm管理,每次npm install都会安装bootstrap包,而后端一辈子都用不倒,完全是浪费带宽、存储空间、时间。并且你在运行后端前,每次都安装个bootstrap,你不觉得恶心吗?
运行环境完全不同
前端与后端的运行环境是完全不同的,前端运行于浏览器内(即主要是DOM与BOM环境,相对受限),后端则运行于OS内(有无限的API与可能性)。所以这两种开发环境是完全不同的。不同的开发环境使用同一个包管理文件显然是不合时宜的,也不符合模块化的理念。
开发人员也可能不同
前端与后端通常是不同的开发团队,因些前端关注的是HTML,CSS,DOM,BOM, js的UI库与动作库。而后端关注的是性能,安全,效率,数据,缓存,用户管理。他们可能都会用到gulp/grunt,而后端通常不会用到webpack,wiredep,bootstrap, jQuery这类纯前端的包。所以强行将他们捆绑在一起是没有必要的。
同构包可以分开打包
由于isomorphic js的流行,同构包也会越来越多。但是其实你会发现,不管如何同构,前后端的运行环境还是不同的。所以同构包的调用环境还是不一样的。前端的包通常需要通过browserify,webpack或者gulp等工具发布成前端可用的包。跟npm包直接通过package.json决定从什么地方接入是不同的。即使npm可以为前端包提供字段供前端接入,也会显得非常混乱。
前端高级证书需要学什么
前端高级证书需要学习HTML、CSS、JavaScript、前端框架等内容。HTML是用来定义网页结构的标识语言,CSS用于定义网页样式和布局,JavaScript实现网页交互和动态效果,前端框架可以帮助快速搭建前端页面。
这些技能是前端必不可少的技能。
除了以上的技能,前端开发者还需对浏览器和各种设备有所了解,以便在不同的设备上实现网页的显示效果。同时,还需要掌握一定的UI设计知识,使得网页的样式更美观大方。
最后,增强自己的代码能力,认真学习代码规范,提升代码质量,从而提高前端开发的能力。