【发布时间】:2018-04-30 04:08:41
【问题描述】:
我正在尝试使用 webpack 编译我的 Vue.js 应用程序,但我在浏览器中收到此警告。
您正在使用仅运行时构建的 Vue,其中模板编译器不可用。要么将模板预编译成渲染函数,要么使用编译器包含的构建。
这是什么意思?如何解决错误?
【问题讨论】:
我正在尝试使用 webpack 编译我的 Vue.js 应用程序,但我在浏览器中收到此警告。
您正在使用仅运行时构建的 Vue,其中模板编译器不可用。要么将模板预编译成渲染函数,要么使用编译器包含的构建。
这是什么意思?如何解决错误?
【问题讨论】:
这是因为默认包含不带模板编译器(需要)的vue 版本。要覆盖此默认值,请将其添加到您的 webpack.config.js:
// webpack.config.js
{
resolve: {
alias: {
vue: 'vue/dist/vue.js'
},
},
}
【讨论】:
使用渲染功能
new Vue({
el: 'body',
render: function(createElement) {
return createElement(hello)
} });
【讨论】:
如果您尝试使用非预编译的 Vue 模板,则会弹出此错误。
要解决此问题,请将runtimeCompiler option in vue.config.js 设置为true:
module.exports = {
runtimeCompiler: true
}
请注意,这将在您的发行版中包含额外的 JavaScript 负载。
或者,您可以使用预编译的 Vue 模板。
【讨论】:
如果您使用 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'
}
}
【讨论】:
在 vue.config.js 文件中将 runtimeCompiler 设置为 true 后,我仍然遇到错误。
您可以简单地编辑您的 src/main.js 文件
来自:import Vue from 'vue'
收件人:import Vue from 'vue/dist/vue.js';
【讨论】:
对我来说,这是一个错字(小写)。我有:
import Vue from "Vue";
而不是
import Vue from "vue";
【讨论】: