Vue两种模式浅析

136 阅读2分钟

Vue有两种模式,一种为完整版,另一种为非完整版。完整版具备编译器,因此代码体积也更大,比非完整版大30%左右。因此为了使用户下载的JS代码体积更小,一般使用非完整版。非完整版也更独立、更灵活。

Vue的引入

以CDN引入为例:

引入完整版时,复制vue.min.js结尾的链接,script标签引入html文档中。这是没有注释的简洁版本。
引入非完整版时,复制vue.runtimes.min.js结尾的链接,script标签引入html文档中。这是没有注释的简洁版本。

两种模式的用法

在完整版中,view模块存在于页面中的template标签中或者html标签中,可以直接在页面中改变view视图,因为完整版自带编译器。

//html这样写
<body id ='app'>{{n}}</body> 
//在引入html的js中可以这样写 
new Vue({ 
 el: '#app', 
 data: { 
   n:0 
   } 
 }) 
//这样页面中的n就变成了0

在非完整版没有编译器存在的条件下,view模块存在于render函数中。开发者在页面中写的html会被webpack的vue-loader加载成h函数。

//js中这样写 
new Vue({ 
 el: '#app', 
 render(h) { return h(demo) } 
})

非完整版使用vue-loader将html文件中的html标签全部替换,原html标签中的内容会全部被覆盖,因此它是SEO(搜索引擎优化)不友好的一种方法。解决方法是先把title等标签写好,专门用来给搜索引擎拉取,虽然在下载后执行过程中会被覆盖掉。

使用codesandbox.io在线创建Vue项目

进入官网,点击‘start coding for free’,1. 点击vue等待配置即可。写完的项目可以点左上角导出成压缩文件。