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之后,你就可以专注于自己项目的业务逻辑的编写了。

从官方网站这样介绍:

  1. Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供:
  2. 通过 @vue/cli 搭建交互式的项目脚手架。
  3. 通过 @vue/cli + @vue/cli-service-global 快速开始零配置原型开发。
  4. 一个运行时依赖 (@vue/cli-service),该依赖:
  5. 可升级;
  6. 基于 webpack 构建,并带有合理的默认配置;
  7. 可以通过项目内的配置文件进行配置;
  8. 可以通过插件进行扩展。
  9. 一个丰富的官方插件集合,集成了前端生态中最好的工具。
  10. 一套完全图形化的创建和管理 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三部分,例如:

  1. <template>
  2. <div class="page">
  3. {{message}}我是首页
  4. </div>
  5. </template>
  6. <script type="text/ecmascript-6">
  7. export default {
  8. data () {
  9. return {
  10. message: 'hello, '
  11. }
  12. },
  13. components: {
  14. }
  15. }
  16. </script>
  17. <style scoped>
  18. </style>

2.3.实例

使用单文件组件完成下图页面

前面我们已经讲过使用vue-cli创建项目了,你需要在src目录下写相应的代码

1.在src目录下的components目录下新建MyHeader.vue文件,添加下面内容

  1. <template>
  2. <div class="page">
  3. {{ title }}
  4. </div>
  5. </template>
  6. <script type="text/ecmascript-6">
  7. export default {
  8. data () {
  9. return {
  10. title: '这是网页头部'
  11. }
  12. }
  13. }
  14. </script>
  15. <style>
  16. .page {
  17. width: 100%;
  18. height: 60px;
  19. background-color: black;
  20. color: white;
  21. text-align: center;
  22. line-height: 60px;
  23. font-size: 20px;
  24. }
  25. </style>

2.重复上一步,分别添加MyContent.vue文件和MyFooter文件

MyContent.vue

  1. <template>
  2. <div class="page">
  3. {{message}}
  4. </div>
  5. </template>
  6. <script type="text/ecmascript-6">
  7. export default {
  8. data () {
  9. return {
  10. message: '这里是主体内容'
  11. }
  12. },
  13. components: {
  14. }
  15. }
  16. </script>
  17. <style scoped>
  18. .page{
  19. width: 100%;
  20. height: 400px;
  21. background-color: orangered;
  22. font-size: 40px;
  23. text-align: center;
  24. line-height: 400px;
  25. color: white;
  26. }
  27. </style>

MyFooter

  1. <template>
  2. <div class="page">
  3. {{message}}
  4. </div>
  5. </template>
  6. <script type="text/ecmascript-6">
  7. export default {
  8. data () {
  9. return {
  10. message: '这里是底部内容'
  11. }
  12. },
  13. components: {
  14. }
  15. }
  16. </script>
  17. <style scoped>
  18. .page{
  19. width: 100%;
  20. height: 200px;
  21. background-color: black;
  22. font-size: 40px;
  23. text-align: center;
  24. line-height: 200px;
  25. color: white;
  26. }
  27. </style>
  28. 在src/App.vue文件中添加内容
  29. <template>
  30. <div class="page">
  31. <router-view></router-view>
  32. <my-header></my-header>
  33. <my-content></my-content>
  34. <my-footer></my-footer>
  35. </div>
  36. </template>
  37. <script type="text/ecmascript-6">
  38. import MyHeader from '@/components/MyHeader'
  39. import MyContent from '@/components/MyContent'
  40. import MyFooter from '@/components/MyFooter'
  41. export default {
  42. data () {
  43. return {
  44. name: 111
  45. }
  46. },
  47. components: {
  48. MyHeader,
  49. MyContent,
  50. MyFooter
  51. }
  52. }
  53. </script>
  54. <style scoped>
  55. </style>

4.运行查看效果

在终端里面执行命令

  1. npm start

vue全家桶(1)的更多相关文章

  1. 用 Vue 全家桶二次开发 V2EX 社区

    一.开发背景 为了全面的熟悉Vue+Vue-router+Vuex+axios技术栈,结合V2EX的开放API开发了这个简洁版的V2EX. 在线预览 (为了实现跨域,直接npm run dev部署的, ...

  2. Vue全家桶

    简介 “简单却不失优雅,小巧而不乏大匠”. Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计. 为什么 ...

  3. 从零开始系列之vue全家桶(3)安装使用vuex

    什么是vuex? vuex:Vue提供的状态管理工具,用于同一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象. 即data中属性同时有一个或几个组件同时使用,就是data中共用的属性. ...

  4. 使用vue全家桶制作博客网站

    前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue.vue-router.vuex.v ...

  5. 转载: 使用vue全家桶制作博客网站 HTML5 移动网站制作的好教程

    使用vue全家桶制作博客网站   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue. ...

  6. Vue全家桶介绍

    一直不清楚全家桶是什么玩意,上网搜了一下,才知道就是平时项目中使用的几个依赖包,下面分享一下 Vue 全家桶介绍 Vue有著名的全家桶系列,包含了vue-router(http://router.vu ...

  7. 一个简单的假vue全家桶(vue+vue-router+require)

    首先说明我觉得这是一个比较好理解的vue全家桶(虽然是假的),模块化也是用require来做的,而且如果后期有必要压缩我也会用gulp来做 1.依赖个个本地模块,require只是用来载入page,这 ...

  8. Vue 全家桶 + Electron 开发的一个跨三端的应用

    代码地址如下:http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...

  9. Vue全家桶了解一下(待补充)

    vue全家桶了解一下 一.vue+vue-router+vuex+axios1.vue:使用vue-cli,生成最基本的vue项目2.vue-router:vue项目中的路由管理插件3.vuex:vu ...

  10. 升级vue全家桶过程记录

    背景 如果你使用了element-ui的el-tabs组件,并且想要单独升级element-ui至2.10.0,你会发现,使用了el-tabs组件的页面只要打开就卡死.原因是element-ui~2. ...

随机推荐

  1. 编程-Byte order & Bit order

    https://mp.weixin.qq.com/s/B9rKps4YsLiDTBkRks8rmQ 看到比特序和字节序放在一起被提及,想必就已经填补了概念拼图里面缺失的那一块了,这一块正是比特序. 一 ...

  2. [C#.NET拾遗补漏]01:字符串操作

    字符串操作在任意编程语言的日常编程中都随处可见,今天来汇总一下 C# 中关于字符串的一些你可能遗忘或遗漏的知识点. 逐字字符串 在普通字符串中,反斜杠字符是转义字符.而在逐字字符串(Verbatim ...

  3. SpringSecurity(1)---认证+授权代码实现

    认证+授权代码实现 Spring Security是 一种基于 Spring AOP 和 Servlet 过滤器的安全框架.它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和 ...

  4. Java实现 LeetCode 693 交替位二进制数(位运算)

    693. 交替位二进制数 给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等. 示例 1: 输入: 5 输出: True 解释: 5的二进制数是: 101 示 ...

  5. Java实现 蓝桥杯VIP 基础练习 Huffuman树

    基础练习 Huffuman树 问题描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, -, pn-1},用这列数构造Hu ...

  6. Java实现 LeetCode 67 二进制求和

    67. 二进制求和 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1 ...

  7. Java实现 LeetCode 10 正则表达式匹配

    10. 正则表达式匹配 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 所谓匹配, ...

  8. Java实现表达式计算求值

    问题描述 输入一个只包含加减乖除和括号的合法表达式,求表达式的值.其中除表示整除. 输入格式 输入一行,包含一个表达式. 输出格式 输出这个表达式的值. 样例输入 1-2+3*(4-5) 样例输出 - ...

  9. java算法集训结果填空题练习1

    1 空瓶换汽水 浪费可耻,节约光荣.饮料店节日搞活动:不用付费,用3个某饮料的空瓶就可以换一瓶该饮料.刚好小明前两天买了2瓶该饮料喝完了,瓶子还在.他耍了个小聪明,向老板借了一个空瓶,凑成3个,换了一 ...

  10. Spring之JdbcTemplate使用

    一:JdbcTemplate概述及入门 “Don‘t Reinvent the Wheel” , 这是一句很经典的话,出自Spring官方,翻译过来就是说 “不要重复发明轮子” .由此我们可以猜测,J ...