最近在做一个项目,需要通过拖拽等一系列操作生成一个页面,这个页面是用代码拼出来的一段vue代码,想把它存到后端,所有的页面组在一起做成独立系统,现在的问题在于如何把vue代码从后端拿过来并转成组件后渲染出来?通过调用vue3packages里的@vue/compiler-sfc可以把vue字符串转成SFC Descriptor,但怎么最后解析成页面或者vue组件呢?[基于vue2或vue3的解决办法都可以]
const str = `
<template>
<h1>……</h1>
…………
</template>
<script>
@import ……
export default {}
</script>
<style lang="less" scoped>
h1 {}
</style>`
如上,这是一段简单的vue sfc的字符串,通过parse方法解析后的结果是
问题在于怎么样把它或者说换一种方式把sfc字符串转成vue组件?
【不能用iframe+html,尽可能地就用vue组件的形式,因为要和全局样式挂钩】
根据你的题意,我想你需要看下这个API用法vue.compile。以下是一个demo: