You are using the runtime-only build of Vue where the template compiler is not available

Vue报错:You are using the runtime-only build of Vue where the template compiler is not available

环境

1
2
"vue": "^2.6.10"
"@vue/cli-service": "^3.11.0"

问题背景

高德地图自定义打点,marker的click弹窗,弹窗里有交互,有调用到methods里面的vue方法,需要动态渲染,用到了Vue.extend,代码报错在此处。

报错

vue.runtime.esm.js?2b0e:619 [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.

原因

vue有两种形式的代码,平时用的组件模板都是事先定义好的compiler(模板)模式,还有一种是动态渲染组件用的runtime模式(运行时)。

解决办法

在vue.config.js 中添加如下配置

1
2
3
module.exports = {
runtimeCompiler: true
}

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!