提示我出现这种Vue warn
来源:

必能成功的
2017-01-04
老师这是怎么回事,我看了这个
独立构建 vs 运行时构建
有两种构建方式,独立构建和运行构建。它们的区别在于前者包含模板编译器而后者不包含。
模板编译用于编译 Vue 模板字符串成纯 JavaScript 渲染函数。如果你想用 template 选项, 你需要编译。
模板编译器的职责是将模板字符串编译为纯 JavaScript 的渲染函数。如果你想要在组件中使用 template 选项,你就需要编译器。
独立构建包含模板编译器并支持 template 选项。 它也依赖于浏览器的接口的存在,所以你不能使用它来为服务器端渲染。
运行时构建不包含模板编译器,因此不支持 template 选项,只能用 render 选项,但即使使用运行时构建,在单文件组件中也依然可以写模板,因为单文件组件的模板会在构建时预编译为 render 函数。运行时构建比独立构建要轻量30%,只有 17.14 Kb min+gzip大小。
默认 NPM 包导出的是 运行时 构建。为了使用独立构建,在 webpack 配置中添加下面的别名:
resolve: {alias: {'vue$': 'vue/dist/vue.common.js'}}
对于Browserify,可以添加一个别名到 package.json 中:
"browser": {"vue": "vue/dist/vue.common"},
还是不太懂。
2回答
-
Vue.js 2.0 支持了 render 函数,它是可以通过 JS 编程的方式渲染模板的。但是呢,我们还是习惯写 template 模板,因为这样更贴合我们编写 html 的方式。 那么就有一个把 template 编译到 render 函数的过程。这个过程呢,可以在编译时做,也可以在运行时做。Vue.js 生成也有 2 个版本,运行时的版本是不带模板编译器的(另一个则带模板编译器),它的体积也更小一些,如果你用了 template 的语法且用的运行时版本的 Vue.js,就会出现截图的报错。
那么有些同学问了,为何我用 vue-cli 初始化的项目,用的也是运行时的 Vue.js,也用了 template 模板,为何不报错呢?这一切都归功于 vue-loader,它会在编译阶段把 .vue 文件中的 template 模板编译成 render 函数,这样我们就可以愉快的使用运行时 Vue.js 了。022017-01-05 -
点点无眠
2017-01-05
一直在使用render含数,却不知道他和template的区别,看到这里才知道,谢谢啦!!~
00
相似问题