vue全家桶(1)
1.环境搭建
1.1.脚手架搭建
1.1.1什么是脚手架
百度搜索一下脚手架长什么样子,它们是这样的:
从百度百科抄过来一段话: 脚手架是为了保证各施工过程顺利进行而搭设的工作平台。如果明白了脚手架在现实生活中的作用,那么,再来理解编程中的脚手架就容易了,有时我们听说前端脚手架工具,其实,这里的脚手架和现实中的脚手架类似,用人话讲就是一种工具,工地上的脚手架帮助工人施工,前端中的脚手架帮助编程人员完成各种工作,例如:代码编译、打包、压缩等,各种工具组合成一套编码环境,这种自己一步一步搭建环境的重复性劳动可以交给给脚手架工具来完成,你只需要在这种脚手架工具上完成自己的业务代码就行,下面我们会介绍到等vue-cli就是集成了vue的一种脚手架工具,同理,react、angular等都有相应的脚手架工具,例如:create-react-app、angular-cli等
1.1.2.vue-cli介绍
在没有vue-cli之前,搭建一个开发环境你可能需要花几天的时间,如果你并不熟悉webpack的话,你还得再去把webpack的各种配置学习一遍,这样几天时间很快就过去了,而你还没有真正动手开始写自己的应用逻辑,为了让开发者从配置中解放出来,vue官方提供了一套vue-cli脚手架,它不仅确保了各种构建工具能够基于智能的默认配置即可平稳衔接,还提供了配置调整的灵活性。有了vue-cli之后,你就可以专注于自己项目的业务逻辑的编写了。
从官方网站这样介绍:
Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供:
通过 @vue/cli 搭建交互式的项目脚手架。
通过 @vue/cli + @vue/cli-service-global 快速开始零配置原型开发。
一个运行时依赖 (@vue/cli-service),该依赖:
可升级;
基于 webpack 构建,并带有合理的默认配置;
可以通过项目内的配置文件进行配置;
可以通过插件进行扩展。
一个丰富的官方插件集合,集成了前端生态中最好的工具。
一套完全图形化的创建和管理 Vue.js 项目的用户界面。
1.1.3.使用 vue-cli 创建项目
1.2.项目目录介绍以及相关配置
2.单文件组件
在vue基础入门的课程中,我们讲过vue如何去注册组件,我们使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: '#container '}) 在每个页面内指定一个容器元素,这种方式在小规模项目中可以运行很好,但在复杂的项目中就会有很多缺点,因此,我们并不推荐使用Vue.component的方式来定义组件,而是使用单文件组件
2.1.什么是单文件组件?
通俗的说单文件组件就是每个文件就是一个组件,把不同的组件放到不同的文件中去,这种文件以.vue 结尾
2.2.单文件组件结构
单文件组件内部由三部分组成,即模板、js、css三部分,例如:
<template>
<div class="page">
{{message}}我是首页
</div>
</template>
<script type="text/ecmascript-6">
export default {
data () {
return {
message: 'hello, '
}
},
components: {
}
}
</script>
<style scoped>
</style>
2.3.实例
使用单文件组件完成下图页面
前面我们已经讲过使用vue-cli创建项目了,你需要在src目录下写相应的代码
1.在src目录下的components目录下新建MyHeader.vue文件,添加下面内容
<template>
<div class="page">
{{ title }}
</div>
</template>
<script type="text/ecmascript-6">
export default {
data () {
return {
title: '这是网页头部'
}
}
}
</script>
<style>
.page {
width: 100%;
height: 60px;
background-color: black;
color: white;
text-align: center;
line-height: 60px;
font-size: 20px;
}
</style>
2.重复上一步,分别添加MyContent.vue文件和MyFooter文件
MyContent.vue
<template>
<div class="page">
{{message}}
</div>
</template>
<script type="text/ecmascript-6">
export default {
data () {
return {
message: '这里是主体内容'
}
},
components: {
}
}
</script>
<style scoped>
.page{
width: 100%;
height: 400px;
background-color: orangered;
font-size: 40px;
text-align: center;
line-height: 400px;
color: white;
}
</style>
MyFooter
<template>
<div class="page">
{{message}}
</div>
</template>
<script type="text/ecmascript-6">
export default {
data () {
return {
message: '这里是底部内容'
}
},
components: {
}
}
</script>
<style scoped>
.page{
width: 100%;
height: 200px;
background-color: black;
font-size: 40px;
text-align: center;
line-height: 200px;
color: white;
}
</style>
在src/App.vue文件中添加内容
<template>
<div class="page">
<router-view></router-view>
<my-header></my-header>
<my-content></my-content>
<my-footer></my-footer>
</div>
</template>
<script type="text/ecmascript-6">
import MyHeader from '@/components/MyHeader'
import MyContent from '@/components/MyContent'
import MyFooter from '@/components/MyFooter'
export default {
data () {
return {
name: 111
}
},
components: {
MyHeader,
MyContent,
MyFooter
}
}
</script>
<style scoped>
</style>
4.运行查看效果
在终端里面执行命令
npm start
vue全家桶(1)的更多相关文章
- 用 Vue 全家桶二次开发 V2EX 社区
一.开发背景 为了全面的熟悉Vue+Vue-router+Vuex+axios技术栈,结合V2EX的开放API开发了这个简洁版的V2EX. 在线预览 (为了实现跨域,直接npm run dev部署的, ...
- Vue全家桶
简介 “简单却不失优雅,小巧而不乏大匠”. Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计. 为什么 ...
- 从零开始系列之vue全家桶(3)安装使用vuex
什么是vuex? vuex:Vue提供的状态管理工具,用于同一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象. 即data中属性同时有一个或几个组件同时使用,就是data中共用的属性. ...
- 使用vue全家桶制作博客网站
前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue.vue-router.vuex.v ...
- 转载: 使用vue全家桶制作博客网站 HTML5 移动网站制作的好教程
使用vue全家桶制作博客网站 前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue. ...
- Vue全家桶介绍
一直不清楚全家桶是什么玩意,上网搜了一下,才知道就是平时项目中使用的几个依赖包,下面分享一下 Vue 全家桶介绍 Vue有著名的全家桶系列,包含了vue-router(http://router.vu ...
- 一个简单的假vue全家桶(vue+vue-router+require)
首先说明我觉得这是一个比较好理解的vue全家桶(虽然是假的),模块化也是用require来做的,而且如果后期有必要压缩我也会用gulp来做 1.依赖个个本地模块,require只是用来载入page,这 ...
- Vue 全家桶 + Electron 开发的一个跨三端的应用
代码地址如下:http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...
- Vue全家桶了解一下(待补充)
vue全家桶了解一下 一.vue+vue-router+vuex+axios1.vue:使用vue-cli,生成最基本的vue项目2.vue-router:vue项目中的路由管理插件3.vuex:vu ...
- 升级vue全家桶过程记录
背景 如果你使用了element-ui的el-tabs组件,并且想要单独升级element-ui至2.10.0,你会发现,使用了el-tabs组件的页面只要打开就卡死.原因是element-ui~2. ...
随机推荐
- Chisel3-Intellij IDEA中使用sbt构建Chisel项目
https://mp.weixin.qq.com/s/gssjiiPW6zUzKwCFZdNduw 1. 使用Intellij IDEA创建Scala项目 Chisel项目,就是构建Scala ...
- 【HIVE】(2)分区表、二级分区、动态分区、分桶、抽样
分区表: 建表语句中添加:partitioned by (col1 string, col2 string) create table emp_pt(id int, name string, job ...
- Java实现 LeetCode 463 岛屿的周长
463. 岛屿的周长 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相连(对角线方向不相连).整个网格被水完全包围,但其中恰好有一个岛屿(或者 ...
- Java实现 LeetCode 223 矩形面积
223. 矩形面积 在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积. 每个矩形由其左下顶点和右上顶点坐标表示,如图所示. Rectangle Area 示例: 输入: -3, 0, 3, 4 ...
- 第六届蓝桥杯JavaA组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.熊怪吃核桃 题目描述 森林里有一只熊怪,很爱吃核桃.不过它有个习惯,每次都把找到的核桃分成相等的两份,吃掉一份,留一份.如果不能等分, ...
- Java实现分割矩形
给定平面内平行于坐标轴的一个矩形,从矩形内选 择一些点,从这些点向右和向上各射出一条射线, 请问:这些射线将矩形分成了多少份. 数据格式: 输入的第一行包含两个整数x, y,表示矩形是由(0, 0), ...
- linux init.d启动停止脚本
/etc/init.d/httpd status /etc/init.d/nginx status /etc/init.d/postgresql start linux快捷启动
- python—列表,元组,字典
——列表:(中括号括起来:逗号分隔每个元素:列表中的元素可以是数字,字符串,列表,布尔值等等) (列表元素可以被修改) list(类) (有序的) [1]索引取值:切片取值:for循环:whi ...
- WebService之Spring+CXF整合示例
一.Spring+CXF整合示例 WebService是一种跨编程语言.跨操作系统平台的远程调用技术,它是指一个应用程序向外界暴露一个能通过Web调用的API接口,我们把调用这个WebService的 ...
- 自动完成 APP【字典树(Trie树)+dfs】
自动完成 APP 传送门 来源:upc12786 题目描述 奶牛 Bessie 很喜欢用手机上网聊天,但她的蹄子太大,经常会按到好几个键造成不必要的麻烦(丢死人了,你下辈子还是不要当奶牛了).于是 ...