vue3通过app.config进行配置

 

const app = Vue.createApp({})
app.config = {...}

 

errorHandler: 组件渲染方法执行期间及侦听器抛出的未捕获错误,可以获取到错误信息和应用实例

app.config.errorHandle = (err, vm, info) => {
    // err:
    // vm:
    // info: 是vue特定的错误信息,比如错误所在的生命周期钩子
}

 

warnHandler: 警告指定一个自定义处理函数,只有在开发环境生效,生产环境会被忽略

app.config.warnHandle = function(msg, vm, trace) => {
    // msg: 警告信息
    // vm: 组件实例
    // trace: 是组件的继承关系追踪
}

 

globalProperties: 向任何组件实例中添加可全局访问的属性

在vue2中: vue.prototype.$http = () => {}
在vue3中: app.config.globalproperties.$http = () => {}

 

isCustomElement: 用来识别Vue之外定义的自定义元素,如果组件符合此条件则不需要本地或全局注册,并且Vue不会抛出 Unknown custon element的警告

app.config.isCustomElement = tag => tag.startWith('icon-')

 

optionMergeStrategies: 自定义选项合并策略 

const app = Vue.createApp({
  custom: 'hello!'
})

// 注意这里返回的先后顺序,他会影响混入中打印出的结果
写法一: app.config.optionMergeStrategies.custom = (toVal, fromVal) => fromVal || toVal
写法二: app.config.optionMergeStrategies.custom = (toVal, fromVal) => toVal || fromVal

app.mixin({
  custom: 'goodbye!',
  created() {
    console.log(this.$options.custom) //  写法一会打印出"hello",       写法二会打印出 "goodbye!"
  }
})

 

 performance: 在浏览器开发工具中的performance/timeline面板中启用对组件初始化、编译渲染和更新的性能追踪,但是只适用于performance.mark API的浏览器
app.config.performance = true

 

 

  

 

posted @ 2021-12-04 02:39  猪脚踏浪  阅读(2476)  评论(0编辑  收藏  举报