1.3 插槽 slot

  1. template: `
  2. <button> <slot></slot> </button>
  3. `
  4. <my-button>内容</my-button
  1. <div class="container">
  2. <header>
  3. <slot name="header"></slot>
  4. </header>
  5. <main>
  6. <slot></slot>
  7. </main>
  8. <footer>
  9. <slot name="footer"></slot>
  10. </footer>
  11. </div>
  12. //调用组件
  13. <base-layout>
  14. <template slot="header">
  15. <h1>Here might be a page title</h1>
  16. </template>
  17. <p>A paragraph for the main content.</p>
  18. <p>And another one.</p>
  19. <p slot="footer">Here's some contact info</p>
  20. </base-layout>

1.4 动态组件

  1. <component is="组件"></component>
  2. <keep-alive>
  3. <component is="组件"></component>
  4. </keep-alive>

1.5 组件注意事项

  1. <table>
  2. <tr is="组件名"></tr>
  3. </table>
  4. 给组件标签 设置的class和style 会自动添加到 组件模板的根元素上
  5. 在组件标签上添加原生事件 <my-component @click.native="">
  6. 实现prop的双向数据绑定 :属性名.sync
  7. 子组件要配合, this.$emit('update:属性名', 新值)

2 前端工程化

2.1 支持环境 Node

  1. node.js JavaScript的解释器
  2. 用于后端开发
  3. 作为前端工具的支持环境

2.2 NPM 包管理工具

  1. 包管理工具
  2. 集成在node.js中,不需要单独下载
  3. 前端的一切资源都可以都过npm下载 包括 各种前端工具(webpack\grunt...) 各种前端资源(jquery\bootstrap...)
  1. npm install 包名 本地安装(本项目目录) (资源类)
  2. npm install -g 包名 全局安装(命令行工具)
  3. npm uninstall 包名 删掉本地的包
  4. npm uninstall 包名 -g 删除全局安装的包
  1. #项目初始化
  2. npm init
  3. 创建一个package.json 里面是对项目的描述,指定依赖
  1. 项目中的node_moudules 目录 不需要上传
  2. 运行 npm install 自动安装项目所有的依赖(存在package.json
  1. npm install --save 下载包的同时,加入到package.json中的 `dependencies`
  2. npm install --save-dev 下载包的同时,加入到package.json中的 `devDependencies` 开发阶段的依赖

2.3 模块化工具

  • webpack
  • Browserify

把前端所有的资源当做模块,向引入模块一样去使用

2.4 自动化工具

集成各种应用:代码压缩、图片压缩、编译sass....

  • grunt
  • gulp
  • webpack

3 Vue生成器

集成了webpack、以及其他各种需要的工具

3.1 安装

  1. npm install -g @vue/cli 安装3.x
  2. npm install -g vue/cli 安装的2.x

3.2 使用

  1. vue create 项目名称 自动生成项目的目录

3.3 包含的东西

  1. webpack
  2. babel ES6编译成ES5
  3. eslint 代码语法规范
  4. TypeScript 负责把TypeScript编译成JavaScript
  5. Router(vue-router Vue全家桶成员) 路由
  6. Vuex(Vue全家桶成员) vue状态管理
  7. CSS Pre-processors CSS预处理 会让你再次选择器(SASSLESSStylus...)
  8. Linter / Formatter 语法检查
  9. Unit Testing 单元测试
  10. E2E Testing 端到端测试

2.4 命令

  1. npm run serve 临时编译,创建临时服务器 loacalhost:8080
  2. npm run build 编译,生成dist目录

4. 前端的集成环境 WebStorm

5 项目目录结构

  1. |- node_modules
  2. |- public
  3. |- index.html
  4. |- assets 静态文件 图片、字体
  5. |- src
  6. |- components 普通组件(局部)
  7. |- HelloWorld.vue
  8. |- views 页面组件
  9. |- Home.vue
  10. |- About.vue
  11. |- main.js 入口
  12. |- App.vue 总体结构组件
  13. |- router.js 路由设置
  14. |- store.js 状态管理
  15. |- package.json

6 Vue全家桶

  1. vue 本身
  2. vue-router 路由
  3. vuex 状态管理
  4. vue-ssr 服务端渲染
  5. element-ui vue样式组件库

vue组件续和前端工程化的更多相关文章

  1. 公司内部技术分享之Vue.js和前端工程化

    今天主要的核心话题是Vue.js和前端工程化.我将结合我这两年多的工作学习经历来谈谈这个,主要侧重点是前端工程化,Vue.js侧重点相对前端工程化,比重不是特别大. Vue.js Vue.js和Rea ...

  2. Vue组件template模板字符串几种写法

    在定义Vue组件时,组件的模板template选项需要的是一个字符串,当其内容较复杂需要换行时,需要简单处理一下,具体有五种方式: 方式一:使用 \ 转义换行符 <!DOCTYPE html&g ...

  3. Laravel 项目中编写第一个 Vue 组件

    和 CSS 框架一样,Laravel 不强制你使用什么 JavaScript 客户端框架,但是开箱对 Vue.js 提供了良好的支持,如果你更熟悉 React 的话,也可以将默认的脚手架代码替换成 R ...

  4. webpack4.x + vue2.x 构建前端工程化(1)

    本篇文篇纯属个人笔记,实现工程化打包(用打包后的文件可以正常渲染页面),后续继续更新配置开发环境与生产环境,如果有不合理的地方还望各位指点! 不用脚手架,直接用vue和webpack搭建前端工程化项目 ...

  5. 前端工程化(三)---Vue的开发模式

    从0开始,构建前后端分离应用 导航 前端工程化(一)---工程基础目录搭建 前端工程化(二)---webpack配置 前端工程化(三)---Vue的开发模式 前端工程化(四)---helloWord ...

  6. 使用webpack+vue.js构建前端工程化

    参考文章:https://blog.csdn.net/qq_40208605/article/details/80661572 使用webpack+vue.js构建前端工程化本篇主要介绍三块知识点: ...

  7. python 全栈开发,Day90(Vue组件,前端开发工具包)

    昨日内容回顾 1. Vue使用 1. 生成Vue实例和DOM中元素绑定 2. app.$el --> 取出该vue实例绑定的DOM标签 3. app.$data --> 取出该vue实例绑 ...

  8. [vue]webpack&vue组件工程化实践

    [vue]全局组件和局部组件(嵌套+props引用父组件数据) [vue]组件篇 [vue]组件的创建(componet)和销毁(keep-alive缓存)和父子dom同步nextTick [vue] ...

  9. 阿里oss上传图片react组件alioss-react,vue组件alioss-vue (不用我先收藏着,后端看下前端处理方法)

    1.介绍 最近开发了一个项目,其中需要一个上传图片到阿里云的 oss 上面,就是上传图片到阿里云的 oss 上面. 因为之前开发过 vue 的阿里云 oss 上传,所以直接复制粘 vue 的组件. 因 ...

随机推荐

  1. ipython notebook环境搭建

    默认已经装好python基本环境,再进行下面步骤: 1. 下载安装IPython:  c:>pip.exe install ipython 系统就会去网上寻找ipython的包, 进行下载及安装 ...

  2. 448D - Codeforces

    D. Multiplication Table time limit per test 1 second memory limit per test 256 megabytes Bizon the C ...

  3. KVM虚拟机建立快照

    部分转载: http://blog.csdn.net/gg296231363/article/details/6899533 windows虚拟机默认镜像格式为raw,快照默认格式为qcow2.win ...

  4. CiteSeer统计的计算机领域的期刊和会议的影响因子(2005)

    产生自CiterSeer 2005数据库,实际的影响因子可能更高.仅供参考使用.真实的IF还需去官网查看 . OSDI: 3.31 (top 0.08%) . USENIX Symposium on ...

  5. 【LabVIEW技巧】代码块快速放置

    前言 之前的文章中介绍了如何使用QuickDrop来实现快速代码放置,今天我们来详细的聊一下如何进行代码块的快速放置. 正文 LabVIWE程序设计中,我们在架构层级总是进行重复性的编写.举一个例子: ...

  6. C#面向对象(OOP)入门—第二天—多态和继承(继承)

    介绍: 第一天的内容主要是不同情形下的方法重载.这一部分则主要讲面向对象中继承的概念.首先用一个要点图形来定义继承. 继承 一个简单的例子: ClassA: class ClassA:ClassB { ...

  7. 【linux】su和sudo命令的区别

    来源:http://www.jb51.net/LINUXjishu/12713.html 一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比 ...

  8. Springboot问题合集

    1. springboot错误: 找不到或无法加载主类 springboot错误: 找不到或无法加载主类 一般是由于maven加载错误导致的,而我遇到是因为module没有导入正确,重新导一下modu ...

  9. Java Socket编程基础篇

    原文地址:Java Socket编程----通信是这样炼成的 Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Sock ...

  10. review的一个收获popstate,addEventListener:false ,split,jquery cache

    一.popstate:记录url历史变化 二.document.location.hash:锚点后面的东西 三.addEventListener:false 是否在捕获或者冒泡事件中执行 强转换 四. ...