Vue.js 使用Nuxt动态获取和编译模板

Vue.js 使用Nuxt动态获取和编译模板,vue.js,nuxt.js,Vue.js,Nuxt.js,我想从远程获取一个svg,并通过编译将其激活。我说的“生活化”是指按类选择它的一些元素,并动态地向其中添加一个组件列表 现在我只使用,我的组件如下所示: data() { return { svg: '', } }, async created() { let res = await axios.get(mySvgSrc) this.svg = res.data } 但这不允许我通过插入带有vue绑定的元素来实现它 因此,我希望使用动态组件,如,因此在获取svg后,使用

我想从远程获取一个svg,并通过编译将其激活。我说的“生活化”是指按类选择它的一些元素,并动态地向其中添加一个组件列表

现在我只使用
,我的组件如下所示:

data() {
  return {
    svg: '',
  }
},
async created() {
  let res = await axios.get(mySvgSrc)
  this.svg = res.data
}
但这不允许我通过插入带有vue绑定的元素来实现它

因此,我希望使用动态组件,如
,因此在获取svg后,使用结果作为模板。例如

但是,nuxt一直抱怨它无法编译它:

[Vue warn]:您正在使用仅运行时版本的Vue,其中 模板编译器不可用。或者预先编译模板 转换为渲染函数,或使用包含的编译器生成

我该怎么办

1) 在获取svg(字符串)模板后,如何将其转换为渲染函数

2) 是否使用编译器附带的版本?(当然不是,但如果是这样:这是如何工作的?)

我觉得我需要选择2)才能做选择1)

编辑
刚刚发现,不确定这是否是vue的方式,尽管

您需要更改Vue构建。 添加此字符串:

config.resolve.alias['vue'] = 'vue/dist/vue.common'
到nuxt.config.js 在这里:


您需要更改Vue构建。 添加此字符串:

config.resolve.alias['vue'] = 'vue/dist/vue.common'
到nuxt.config.js 在这里:


为什么这样做有效?什么是
config.resolve.alias
vue/dist/vue.common
?您可以在这里了解它:为什么这样做?什么是
config.resolve.alias
vue/dist/vue.common
build: {
  /*
  ** You can extend webpack config here
  */
  extend(config, ctx) {
    config.resolve.alias['vue'] = 'vue/dist/vue.common'