例如:下图所示:
依次识别获取.js文件中的tag和props,可以理解为字符串拼接,将整个vue的标签结构看作是一个字符串。
话不多说,先放上完整代码,思路看代码备注。(自己实现的时候,可以先把tag标签,即vue结构弄出来,后续再加上props属性,这样思路会更加清晰)
实现方法:
首先想到的是利用递归,一点一点的拼接字符串,因为.js文件到底多大是不确定的。
data() {
return {
previewContent: '',
suojinStr: ''// 获取缩进字符
}
},
methods: {
handlePreview() {
var jsdata = require('../../../public/js/bbb.js') //获取文件
this.obtainData(jsdata.default) //调用递归方法
this.previewContent = '<template>' + this.previewContent + '\n' + '</template>'
},
obtainData(data) {
var children = data.