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的虚概念. 由于最近,小生在公司中,负责开 ...
随机推荐
- 自定义placeholder样式
::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: #909; } :-moz-placeholder { /* Mozill ...
- Arch Linux, 无法启动进入sddm登录
启动Arch Linux 的时候全屏就一个错误"Failed to start Load/Save Screen Backlight Brightness of backlight:acpi ...
- Intellij IDEA 快速查找接口实现类的快捷键
查找接口的实现类: IDEA 风格 ctrl + alt +B 在按F2查看详细文档注解 查看类或接口的继承关系: ctrl + h
- 记一次mysql关于limit和orderby的优化
针对于大数据量查询,我们一般使用分页查询,查询出对应页的数据即可,这会大大加快查询的效率: 在排序和分页同时进行时,我们一定要注意效率问题,例如: select a.* from table1 a i ...
- 使用SQL实现数据操作
SQL和RDBMS的区别:用SQL操作RDBMS 一.数据的完整性 一个汉字占多少长度与编码有关: UTF-8:一个汉字=3个字节 GBK:一个汉字=2个字节 二.数据库基本操作 1. 登录数据库 首 ...
- PHP ftp_size() 函数
定义和用法 ftp_size() 函数返回 FTP 服务器上指定文件的大小. 该函数以字节返回指定文件的大小,如果出错则返回 -1. 语法 ftp_size(ftp_connection,file) ...
- TearmQuery()
lucene 中的 TearmQuery() 在.search( tearmQuery, q)查询时 比较矫情 q只能是小写
- 《国际化Web项目测试:记第一次兼职测试的经历(一)》
疫情期间我一直在家远程办公,无意间接到了个做测试兼职的机会.在不耽搁本职工作的情况下,我从今年五月份开启了主职和副职的并行的状态.这种项目经历对于我来说算是一次全新的体验,当然也真是累的够呛.到目前为 ...
- DeepVO: Towards End-to-End Visual Odometry with Deep Recurrent Convolutional Neural Networks
1.Introduction DL解决VO问题:End-to-End VO with RCNN 2.Network structure a.CNN based Feature Extraction 论 ...
- Canal v1.1.4版本避坑指南
前提 在忍耐了很久之后,忍不住爆发了,在掘金发了条沸点(下班时发的): 这是一个令人悲伤的故事,这条情感爆发的沸点好像被屏蔽了,另外小水渠(Canal意为水道.管道)上线一段时间,不出坑的时候风平浪静 ...