请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

提示我出现这种Vue warn

https://img1.sycdn.imooc.com/szimg//586cb9150001183e05470094.jpg

老师这是怎么回事,我看了这个

独立构建 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回答

ustbhuangyi 2017-01-05 01:01:15

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 了。

0 回复 有任何疑惑可以回复我~
  • 提问者 必能成功的 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-01-05 09:42:08
  • 提问者 必能成功的 #2
    我查看了下node_modules文件夹有vue-loader这个文件,为什么他不起作用呢?
    回复 有任何疑惑可以回复我~ 2017-01-05 09:43:45
点点无眠 2017-01-05 01:10:50

一直在使用render含数,却不知道他和template的区别,看到这里才知道,谢谢啦!!~

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信