欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于vue编译版本引入的问题的解决

程序员文章站 2022-04-01 08:40:57
下班过目遇到一个错误 [vue warn]: you are using the runtime-only build of vue where the templa...

下班过目遇到一个错误

[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编译版本不对

解决方案1

build/webpack.base.conf.js 并设置vue的alias别名,如下:

resolve: {
   alias: {
    vue: 'vue/dist/vue.esm.js'
   }
  }

解决方案2

打开src/main.js修改vue对象初始化。

new vue({
 el: '#app',
 router,
 components: { app },
 template: '<app/>'
})

改为

new vue({
 el: '#app',
 router,
 render: h => h(app)
})

原因是,使用 template属性,需要引入带编译器的完整版的vue.esm.js

而如果在.vue文件里面使用

<template>
 <div></div>
</template>
<script>
export default {
 name:'name1',
 data() {
  return {};
 }
};
</script>

这种形式,然后使用import引入,则不需要完整版的vue.esm.js,因为使用vue-loader时 *.vue文件会自动预编译成js。

其实vuejs官网中已有明确说明

对不同构建版本的解释(https://cn.vuejs.org/v2/guide/installation.html#%e5%af%b9%e4%b8%8d%e5%90%8c%e6%9e%84%e5%bb%ba%e7%89%88%e6%9c%ac%e7%9a%84%e8%a7%a3%e9%87%8a

其他相关文章:

理顺8个版本vue的区别()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。