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. ...
随机推荐
- Java实现 LeetCode 725 分隔链表(暴力)
725. 分隔链表 给定一个头结点为 root 的链表, 编写一个函数以将链表分隔为 k 个连续的部分. 每部分的长度应该尽可能的相等: 任意两部分的长度差距不能超过 1,也就是说可能有些部分为 nu ...
- Java实现 LeetCode 131 分割回文串
131. 分割回文串 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 示例: 输入: "aab" 输出: [ ["aa ...
- Java实现 LeetCode 37 解数独
37. 解数独 编写一个程序,通过已填充的空格来解决数独问题. 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以粗实 ...
- Java中StringBuffer和StringBuilder的区别
区别1线程安全: StringBuffer是线程安全的,StringBuilder是线程是不安全的.因为StringBuffer的所有公开方法都用synchronized 来修饰,StringBuil ...
- Java实现 洛谷 P1008 三连击
public class Main { public static void main(String[] args){ for(int i = 123; i <= 329; i++){ int[ ...
- 类似-Xms、-Xmn这些参数的含义:
类似-Xms.-Xmn这些参数的含义: 答: 堆内存分配: JVM初始分配的内存由-Xms指定,默认是物理内存的1/64 JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4 默认空余堆内存小于 ...
- java实现第五届蓝桥杯猜年龄
猜年龄 题目描述 小明带两个妹妹参加元宵灯会.别人问她们多大了,她们调皮地说:"我们俩的年龄之积是年龄之和的6倍".小明又补充说:"她们可不是双胞胎,年龄差肯定也不超过8 ...
- Python中的三种等待时间
一.强制等待 不论页面是否加载完成,都要等待指定时间才能执行下一步, 单位秒,time.sleep(5) import time time.sleep(10) # 强制等待10秒时间 二.隐式等待( ...
- Python 导入CSV、JSON、XML数据
常见的机器可读格式包括: - 逗号分隔值(Comma-Separated Values,CSV)- 制表符分隔值(tab-separated values,TSV)- JavaScript 对象符号( ...
- ojdbc6中OraclePreparedStatement的ArrayIndexOutOfBoundsException异常BUG-6396242
现场信息 Caused by: java.lang.ArrayIndexOutOfBoundsException: -32203 at oracle.jdbc.driver.OraclePrepare ...