您正在使用仅运行时构建的 Vue,其中模板编译器不可用

Posted

技术标签:

【中文标题】您正在使用仅运行时构建的 Vue,其中模板编译器不可用【英文标题】:You are using the runtime-only build of Vue where the template compiler is not available 【发布时间】:2018-04-30 04:08:41 【问题描述】:

我正在尝试使用 webpack 编译我的 Vue.js 应用程序,但我在浏览器中收到此警告。

。要么将模板预编译成渲染函数,要么使用编译器包含的构建。

这是什么意思?如何解决错误?

【问题讨论】:

【参考方案1】:

这是因为默认包含不带模板编译器(需要)的vue 版本。要覆盖此默认值,请将其添加到您的 webpack.config.js

// webpack.config.js

    resolve: 
        alias: 
            vue: 'vue/dist/vue.js'
        ,
    ,

来源:https://github.com/vuejs-templates/webpack/issues/215

【讨论】:

【参考方案2】:

使用渲染功能

new Vue(
    el: 'body',
     render: function(createElement) 
        return createElement(hello)
     );

【讨论】:

是的!这允许使用仅运行时的构建,该构建要小得多。 什么是你好,如何让 2 个不同的 url 路径呈现 2 个不同的组件?【参考方案3】:

如果您尝试使用非预编译的 Vue 模板,则会弹出此错误。

要解决此问题,请将runtimeCompiler option in vue.config.js 设置为true

module.exports = 
  runtimeCompiler: true

请注意,这将在您的发行版中包含额外的 javascript 负载。

或者,您可以使用预编译的 Vue 模板。

【讨论】:

【参考方案4】:

如果您使用 vue-cli-service 编译您的应用程序,请将以下代码添加到 vue.config.js,具体取决于编译器:

  configureWebpack: 
    resolve: 
      alias: 
        'vue$': 'vue/dist/vue.esm.js'
      
    
  

如果您使用 webpack 编译您​​的应用程序,请将以下代码添加到 webpack.config.js:


    resolve: 
      alias: 
         vue: 'vue/dist/vue.js'
      
    

【讨论】:

【参考方案5】:

vue.config.js 文件中将 runtimeCompiler 设置为 true 后,我仍然遇到错误。

您可以简单地编辑您的 src/main.js 文件

来自:import Vue from 'vue'

收件人:import Vue from 'vue/dist/vue.js';

【讨论】:

【参考方案6】:

对我来说,这是一个错字(小写)。我有:

import Vue from "Vue";

而不是

import Vue from "vue";

【讨论】:

以上是关于您正在使用仅运行时构建的 Vue,其中模板编译器不可用的主要内容,如果未能解决你的问题,请参考以下文章

Vue-CLI 组件错误:您正在使用仅运行时构建的 Vue,其中模板编译器不可用

Vue 2 单文件组件不适用于仅运行时构建

测试时 Vue JS 组件模板渲染问题

vue3 模板编译报错

Vue——模板和样式

如何编译时检查 vue 模板中的强类型道具?