Vue引入的第三方库报错时不会显示位置及调用栈,报其他错误

项目依赖:

  • vue版本:2.6.10
  • 使用vue-cli3搭建项目
  • 引入element-ui

现有问题:

项目通过npm引入了自己写的几个库(公司私有npm源,库都是自己以及同事写的),当这几个库内部出现报错时,不会直接报错,而会出现大段的vue warn,只能通过debugger和try catch才能定位到报错行。

clipboard.png

其中有些报错,比如data functions should return an object,很明显我的书写格式没问题,照此推测应该是在处理data之前报错导致vue生命周期收到了影响。

目前的公共库的开发方式实际不太统一,但最终都是通过webpack output libraryTarget = 'umd'的方式打包的,项目中都是通过import引入。

// 引入
import Drag from 'drag-block'
import { MusicScore, MusicScoreLayoutMode } from 'musicscore-engine'
// 使用
// 当这里报错时,会出现上图的情况
let d = new Drag(document.getElementById('drag1'))
this.svgMusicScore = new MusicScore(options)
// 只有用这种方式才会正常报错
try {
    this.svgMusicScore = new MusicScore(options)
    this.svgMusicScore.play()
} catch (err) {
    console.error(err)
}
阅读 1.9k
1 个回答

data(){

return {

}

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题