千锋重庆|请收下这份面试攻略,web前端经典面试题总结整理( 二 )


Index/Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
6、webpack和gulp对比
Gulp就是为了规范前端开发流程 , 实现前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等功能的一个前端自动化构建工具 。 说的形象点 , “Gulp就像是一个产品的流水线 , 整个产品从无到有 , 都要受流水线的控制 , 在流水线上我们可以对产品进行管理 。 ”另外 , Gulp是通过task对整个开发过程进行构建 。
Webpack是当下最热门的前端资源模块化管理和打包工具 。 它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源 。 还可以将按需加载的模块进行代码分隔 , 等到实际需要的时候再异步加载 。 通过loader的转换 , 任何形式的资源都可以视作模块 , 比如CommonJs模块、AMD模块、ES6模块、CSS、图片、JSON、Coffeescript、LESS等 。
Gulp和Webpack功能实现对比:从基本概念、启动本地Server、sass/less预编译、模块化开发、文件合并与压缩、mock数据、版本控制、组件控制八个方面对Gulp和Webpack进行对比 。
7、webpack打包文件太大怎么办?
webpack把我们所有的文件都打包成一个JS文件 , 这样即使你是小项目 , 打包后的文件也会非常大 。 可以从去除不必要的插件 , 提取第三方库 , 代码压缩 , 代码分割 , 设置缓存几个方面着手优化 。
8、不想让别人盗用你的图片 , 访问你的服务器资源该怎么处理?
目前常用的防盗链方法主要有两种:
(1)设置Referer:适合不想写代码的用户 , 也适合喜欢开发的用户
(2)签名URL:适合喜欢开发的用户
9、精灵图和base64如何选择?
css精灵 , 用于一些小的图标不是特别多 , 一个的体积也稍大 , 比如大于10K(这个没有严格的界定) 。
base64 , 用于小图标体积较小(相对于css精灵) , 多少都无所谓 。 字体图标 , 用于一些别人做好的图标库(也有少数自己去做的)用起来比较方便 , 他的图标只能用于单色 , 图标用只能于一种颜色 。
千锋重庆|请收下这份面试攻略,web前端经典面试题总结整理
文章图片
10、webpack怎么引入第三方的库?
拿jQuery为例:
entry:{
page:'path/to/page.js',
jquery:'node_modules/jquery/dist/jquery.min.js'
}
newHtmlWebpackPlugin({
filename:'index.html',
template:'index.html',
inject:true,
chunks:['jquery','page']//按照先后顺序插入script标签
})
以前十道题为web前端较常出现的面试题 。 大家可以收藏学习一下 , 对于面试web前端的小伙伴可以多留意 , 希望对大家有一定的帮助 。