1.webpack
1、webpack与grunt,gulp的不同
webpck是基于入口的,webpack会自动递归解析入口所需的文件,然后用不同的Loader来处理,可用Plugin来扩展功能,
因为webpack主要是用来处理解决js文件的。适用于大型复杂前端站点的构建。
而grunt和gulp是基于任务和流的。找到一类文件,对其一系列链式操作,整条链式构成了一个任务。
2、常见的Loader和Plugin
file-loader,url-loader,image-loader,babel-loader,css-loader.
define-plugin,commons-chunk-plugin.
3、用webpack优化前端性能,并提高构建速度
- 压缩代码
- 利用CDN加速
- 删除死代码
- 提取公告代码
2、Node模块化差异
1、AMD 特点依赖前置,require 动态引入
2、COMMONJS require语法,动态引入
3、ESMODULE 静态引入 export/import
3、图片上传浏览器
高版本浏览器: 预览用FileReader.readAsDataURL
全版本:先通过input表单的形式直接提交给后端,后端会返回一个图片的URL,即可实现预览
4、token
一般在服务端产生,前端每次请求时带上自己的token证明自己的合法地位。一般会存在于缓存或内存中,设置有效期。
过期后,前端和后端执行跳转到登录界面。
5、node的MVC
model层主要做一些数据库的操作。
view层创建视图
controller层主要实现一些业务逻辑,将数据渲染到view层,save方法把数据存入数据库中。
另外React本身是可以看做视图(view)层,是严格的MVC模式,而VUE是受MVVM启发而设计的。
6、其他
1.monge与mysql不同 非关系型数据库处理数据灵活,效率极高。但当数据固定时,MySQL一类效率较高。
2.less(js) sass(ruby),解决冲突,用命名空间
3.git使用
git config --global user.name "zhou"
git config --global user.email "zhou"
//设置全局name和email
git add all //提交未跟踪,修改和删除的文件
git add . //提交未跟踪,修改的文件(不包括删除的文件)
//都是将工作区的文件添加到暂存区
git commit -m "描述" 将暂存区文件提交到仓库
git status //检查是否 有文件未提交
git diff //查看文件修改的内容
git log //查看修改记录
git reset --hard HEAD^ //版本回退
git clone [url] //使用git拷贝一个到本地
git branch name//创建分支
git checkout name //切换分支
git merge //合并分支
4.package.lock和yarn.lock上线时参考插件版本,版本锁定。
5.webpack3和4有巨大的区别,压根就不是一个东西,架构,体系都变了,很多插件的使用发生了变化,性能提升百分之95以上,理念也很好。