# **JavaScript**
# **Webpack | Git相关**
## 谈谈你对webpack的看法
webpack是一个**模块打包工具**,可以使用它管理项目中的模块依赖,并编译输出模块所需的静态文件。它可以很好地管理、打包开发中所用到的HTML,CSS,JavaScript和静态文件(图片,字体)等,让开发更高效。对于不同类型的依赖,webpack有对应的模块加载器,而且会分析模块间的依赖关系,最后**合并生成优化的静态资源**。
## webpack的基本功能和工作原理?
1. 代码转换:TypeScript 编译成 JavaScript、SCSS 编译成 CSS 等等
2. 文件优化:压缩 JavaScript、CSS、HTML 代码,压缩合并图片等
3. 代码分割:提取多个页面的公共代码、提取首屏不需要执行部分的代码让其异步加载
4. 模块合并:在采用模块化的项目有很多模块和文件,需要构建功能把模块分类合并成一个文件
5. 自动刷新:监听本地源代码的变化,自动构建,刷新浏览器
6. 代码校验:在代码被提交到仓库前需要检测代码是否符合规范,以及单元测试是否通过
7. 自动发布:更新完代码后,自动构建出线上发布代码并传输给发布系统。
## webpack打包原理
将所有依赖打包成一个bundle.js,通过代码分割成单元片段按需加载
## 什么是模块热更新?
webpack的一个功能,可以使代码修改后不用刷新浏览器就自动更新,高级版的**自动刷新浏览器**
## git pull 与 git fetch 区别?
git pull = git fetch + git merge
git pull:相当于是从远程获取最新版本并merge到本地
git fetch: 相当于是从远程获取最新版本到本地,不会自动merge,在实际使用中,git fetch更安全一些
# **CSS面试**
## 清除浮动方法
>father::after{
> content: '.';
> display: block;
> clear: both;
> visibility: hidden;
> height: 0;
>}
## css3有哪些新特性?
1. **css3的选择器**
1. E:last-child 匹配父元素的最后一个子元素E。
2. E:nth-child(n)匹配父元素的第n个子元素E。
3. E:nth-last-child(n) CSS3 匹配父元素的倒数第n个子元素E。
2. **@Font-face 字体引用特性**
3. **圆角**
4. **text-shadow 字体阴影**
5. **CSS3 的渐变效果**
1. background: linear-gradient 线性渐变
2. background: radial-gradient 径向渐变
`` background-image:-webkit-gradient(linear,0% 0%,100% 0%,from(#2A8BBE),to(#FE280E)); ``
6. **css弹性盒子模型 flex**
7. **Css制作特效**
1. Transition 对象变换时的过渡效果
``transition:background-color .6s ease-in 0s;``
2. Transforms 2D转换效果
``transform:rotate(0deg);``
3. Animation动画特效
``.main{
...
}``
``.main:hover{
animation: animations 2s ease 0s;
}``
``@keyframes animations {0%{...} 50%{...} 100%{...}}``
8. **border-radius边框圆角 box-shadow阴影**
# **Vue面试**
## 什么是vue生命周期?
Vue 实例从创建到销毁的过程,就是生命周期。从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、销毁等一系列过程,称之为 Vue 的生命周期。
网友评论