项目依赖:
- vue版本:2.6.10
- 使用vue-cli3搭建项目
- 引入element-ui
现有问题:
项目通过npm引入了自己写的几个库(公司私有npm源,库都是自己以及同事写的),当这几个库内部出现报错时,不会直接报错,而会出现大段的vue warn,只能通过debugger和try catch才能定位到报错行。
其中有些报错,比如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)
}
data(){
}