Hello,Vue
Vue版本

Vue完整版
- 有编译器compiler,体积大功能多,可以直接把html字符串变成DOM节点
- 视图,此处为html字符串,写在index.html里或者写在
new Vue构造选项template里 - 引入方法
- cdn引入:在index.html里用
script标签引入,bootcdn:vue.min.js(无注释的完整版) - webpack引入:需要配置alias(详见官方文档)
- @vue/cli引入:需要额外配置(详见官方文档)
Vue非完整版
- 无编译器compiler,体积小功能少了点
- 视图,只能自己在
new Vue里写构造选项render函数里,用h来创建标签 - 引入方法
- cdn引入:在index.html里用
script标签引入,bootcdn:vue.runtime.min.js(无注释的非完整版) - webpack引入:默认使用非完整版的
- @vue/cli引入:默认使用非完整版的
Vue单文件组件
- 在webpack打包时,vue-loader可以把vue文件翻译成带有render函数的一个对象,这样在main.js里引用就行了,就不用我们自己去写render函数了
- 整个vue文件被翻译成一个对象
- vue文件里的template里的html字符串被翻译成非完整版需要的render函数。
非完整版好处
- 保证用户体验,用户下载的JS文件体积更小,但只支持render函数
- 开发者可直接在vue文件里写HTML标签,而不需要写render函数
- 因为可以用vue-loader 把vue文件里的HTML转为render函数
template
在index.html里引入run.runtime.min.js
新建vue文件Demo.vue
//在Demo.vue里
<template> //在vue文件Demo.vue里的template里写html字符串
<div id="app">
{{n}}
<button @click="add">+1</button>
</div>
</template>
<script>
import HelloWorld from "./components/HelloWorld.vue";
export default {
name: "App",
data() {
return { n: 0 };
},
methods: {
add() {
this.n += 1;
}
}
};
</script>
<style>
</style>
render
//在main.js里
import Vue from "vue";
import Demo from "./Demo.vue";//引入vue文件Demo.vue
import { render } from "sass";
Vue.config.productionTip = false;
new Vue({
el: "#app",
render(h) {
return h(Demo); //这样用
}
});
之后预览时,vue-loader就可以进行转换了
codesandbox.io
进入网站,选Vue,然后就可以正常使用了
Hello,Vue的更多相关文章
- Vue.js 和 MVVM 小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- Vue + Webpack + Vue-loader 系列教程(2)相关配置篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...
- Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...
- 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库
应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...
- Vue.js 2.0 和 React、Augular等其他框架的全方位对比
引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...
- 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?
引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...
- 初探Vue
Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...
随机推荐
- PHP 魔术常量介绍
PHP 魔术常量 PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常 ...
- PHP curl_version函数
(PHP 5 >= 5.5.0) curl_version — 获取cURL版本信息. 说明 array curl_version ([ int $age = CURLVERSION_NOW ] ...
- Go语言系列(三)之数组和切片
<Go语言系列文章> Go语言系列(一)之Go的安装和使用 Go语言系列(二)之基础语法总结 1. 数组 数组用于存储若干个相同类型的变量的集合.数组中每个变量称为数组的元素,每个元素都有 ...
- 关于innerHtml= 与 html() 区别
今天遇到的问题:如果写入的html 有<script>,必须用JQuery 的 html() 才能识别: 使用innerHtml 无法识别<script> 原因机制:待查询
- Android 布局的一些控件的补充和布局的补充(今儿没课)
前面写的博客可能会有点乱: 1,是不太会排版. 2,就是我一边看书,一边听学长讲课,所以有的知识就融入进去了,我写的都是自己的意见和理解,大家取我精华,弃我糟粕哈. 今天是书上的内容,主要讲布局的,一 ...
- JSP中contentType、pageEncoding和meta charset的区别
1.创建JSP 使用Eclipse创建JSP文件: <%@ page language="java" contentType="text/html; charset ...
- Mysql Column 'xxxxx' in field list is ambiguous"
使用了关联查询,两张表有相同的字段,所以说取值含糊不清: 使用别名.列名解决: 如 a.description
- java BigInteger与BigDecimal
一 BigInteger java中long型为最大整数类型,对于超过long型的数据如何去表示呢.在Java的世界中,超过long型 的整数已经不能被称为整数了,它们被封装成BigInteger对象 ...
- C++二分查找:lower_bound( )和upper_bound( )
#include<algorithm>//头文件 //标准形式 lower_bound(int* first,int* last,val); upper_bound(int* first, ...
- C#LeetCode刷题-深度优先搜索
深度优先搜索篇 # 题名 刷题 通过率 难度 98 验证二叉搜索树 22.2% 中等 99 恢复二叉搜索树 45.1% 困难 100 相同的树 48.1% 简单 101 对称二叉树 4 ...