遇到这样的报错:
我们先了解一下vue中两种编译模式:
Vue 中提供了两种编译模式:
1 完整版: 运行时 + 编译器
1.1 在页面中直接通过 script 标签引入的 vue.js 文件就是 完整版 的
既可以使用 render 函数,也可以使用 template 模板
2 只包含运行时版本
2.1 我们自己手动通过 webpack 配置的打包环境中,通过 import Vue from ‘vue’
导入的Vue就是 运行版本 的,也就是:vue.runtime.esm.js
只能使用 render 函数来渲染组件
以上两个版本的区别:完整版中既包含了运行时 又包含了 编译器,编译器就是用来解析
Vue模板的( 可以理解为就是 Vue实例中 template 配置项 )
如果在 运行时版本 中,是无法使用 template 模板内容的,因为 运行时版本 中没有编译器
也就无法编译 template 模板内容。此时,应该使用 render 函数来渲染组件内容
像这样的render以后再mount就是runtime运行模式,不支持解析template里面的内容,runtime模式中main.js中引入vue时候指向的是"dist/vue.runtime.common.js"这个位置。
所以如果项目中用到的是runtime模式render渲染的页面,并且同时还有template需要渲染,就要使用编译模式compiler mode。
怎么开启呢?
在vue3里面,根目录vue.config.js中,修改webpack配置文件里有个别名配置:
白色框中两种写法都可以,这样我们在main.js中引入的vue就指向了vue.esm.js,就可以解析template里面的内容了
版权声明:本文为dyw3390199原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。