vue基础

js变量分为

1.基本类型:number、string、boolean、symbol、null、undefined、bigInt,存储在栈内存中
2.引用类型:  Function、Object、RegExp、Date、Array、set、map存储在堆内存中

vue组件通讯

1.prop/emit/$attrs/$listeners
2.$ref/$children/$parent
3.provide/inject
4.vuex
5.eventBus

vue生命周期

函数 data el this methods props
beforeCreate x x o x x
created o x o o o
beforeMount o x o o o
mounted o o o o o
beforeUpdate o o o o o
updated o o o o o
beforeDestroy o o o o o
destroyed x x x x x
activated(keep-alive下的组件) o o o o o
deactivated(keep-alive下的组件) o o o o o
触发顺序
beforeCreate>created>beforeMount>mounted>activated
deactivated:离开组件触发

webpack

1.entry:入口文件,构建其内部依赖图
2.output:输出bundle
3.loader:加载处理(除了js与json外)其他类型的文件
4.plugin:打包优化资源管理
5.mode:配置环境

webpack性能优化优化
1.include/exclude(将需要打包的和不需要打包的分开)
2.第三方依赖抽离(cdn加载)参考链接1(externals方式)
参考链接2(DllPlugin和DllReferencePlugin方式)
3.多进程打包(HappyPack) 参考链接
4.代码压缩(compression-webpack-plugin) 参考链接
5.optimization.splitChunks(抽离公共的代码,防止重复)参考链接

vue双向绑定原理

vue采用数据劫持结合发布者-订阅者模式通过Object.defineproperty函数对数据setter、getter属性进行拦截。数据变化时发布消息给订阅者去更新视图。
Observer:对数据进行劫持的函数
Complier:编译模板的函数
Watcher:
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容