Vue学习记录

2020-06-06  本文已影响0人  JASONGAOJS

目标:了解Vue, 了解常用的Vue的一些工具,用vue cli搭建一个测试用例,在浏览器上面运行起来。

了解Vue

百科定义

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。

同类的技术

AngularJS: 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC(Model–view–controller)、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。

React: 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。

AngularJS、React、Vue.js并称前端3大框架。

同类技术优缺点

[站外图片上传中...(image-455a7b-1591406644886)]

优点 缺点
Vue.js 轻量级,学习成本低 生态不太成熟
angularJS 有优秀的组件系统 学习曲线是非常陡峭
React 丰富的生态系统 学习曲线陡峭

vue对比链接:https://cn.vuejs.org/v2/guide/comparison.html#AngularJS-Angular-1

渐进式JavaScript框架

vue官网的第一句话就是渐进式JavaScript框架,我的理解就是循序渐进可以自底向上逐层应用开发的框架,可以单独一个页面用来做表单,也可以整个项目用来做框架,可以一步一步引入vue,模块化需要那个就引入那个。

Vue时间轴

[站外图片上传中...(image-4996c9-1591406644886)]

一点小知识

Vue学习之前需要了解:

Vue组成方式(MVVM模式以及两个核心点)

所谓组件化,就是把页面拆分成多个组件 (component),每个组件依赖的 CSS、JavaScript、模板、图片等资源放在一起开发和维护。组件是资源独立的,组件在系统内部可复用,组件和组件之间可以嵌套。

[站外图片上传中...(image-b893fc-1591406644886)]

[站外图片上传中...(image-e9bfff-1591406644886)]

实战

安装方式

node -v  // 查看node版本
npm -v  // 查看npm版本
npm install cnpm -g  // 全局安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org    // 指定地址安装cnpm
cnpm install vue  // 安装最新稳定版本的vue
vue --version   // 查看vue版本
cnpm install --global vue-cli  // cnpm 全局安装vue脚手架,
npm install -g @vue/cli   // npm 全局安装vue脚手架
vue init webpack my-project  // 创建一个基于 webpack 模板的新项目
cd my-project  // 到达项目根目录
cnpm install  // 安装依赖
cnpm run dev  // 启动项目,或者npm run dev

[站外图片上传中...(image-17d9b5-1591406644886)]

配置文件

{
 "name": "ffdd-fast-vue",    // 项目名称
 "version": "1.2.2",  // 版本
 "description": "...",  // 描述
 "author": "",   // 作者
 "private": true,   // 是否私有
 "scripts": {
   "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",  // npm run dev 执行的语句
   "start": "npm run dev",  // 项目启动
   "unit": "jest --config test/unit/jest.conf.js --coverage",  // 单元测试
   "e2e": "node test/e2e/runner.js",  // 前端到后端整个过程的测试
   "test": "npm run unit && npm run e2e",  // 测试
   "lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs",  // 修改代码样式,  运行之后就不报ESLint的错误
   "build": "gulp"  // 构建
 },
 "dependencies": {   // 生产环境所有的第三方依赖
   "axios": "0.17.1",  // 代替ajax
   "babel-plugin-component": "0.10.1",  // 按需加载插件
   "babel-polyfill": "6.26.0",  // 按需加载进行性能优化插件
   "element-ui": "2.8.2",   // 饿了么提供UI框架
   "gulp": "3.9.1",  // 自动化构建工具
   "gulp-concat": "2.6.1",  // 文件合并插件
   "gulp-load-plugins": "1.5.0",  // 自动加载插件
   "gulp-replace": "0.6.1",  // 文件替换插件
   "gulp-shell": "0.6.5",  // 命令行插件
   "lodash": "4.17.5",  // JavaScript 实用工具库。
   "node-sass": "4.9.0",  // sass编译成css
   "npm": "^6.9.0",
   "sass-loader": "6.0.6",  // 是webpack的一个loader, 
   "svg-sprite-loader": "3.7.3",  // 实现自己的Icon组件
   "vue": "2.5.2",
   "vue-cookie": "1.1.4",  // cookie插件
   "vue-router": "3.0.1",   // vue 路由
   "vuex": "3.0.1"  // vue状态管理
 },
 "devDependencies": {  // 开发环境所有的第三方依赖
   "autoprefixer": "7.1.2",  // 自动补全css前缀
   "babel-core": "6.22.1",  // 把 js 代码分析成 ast ,方便各个插件分析语法进行相应的处理
   "babel-eslint": "7.1.1",  // 语法检查
   "babel-jest": "21.0.2",  // 单元测试
   ...
 },
 "engines": {   // 引擎
   "node": ">= 8.11.1",
   "npm": ">= 5.6.0"
 },
 "browserslist": [  // 浏览器列表
   "> 1%",    // 全球超过1%人使用的浏览器
   "last 2 versions",  // 所有浏览器兼容到最后两个版本根据CanIUse.com追踪的版本
   "not ie <= 8"   // 方向排除部分版本
 ]
}
上一篇 下一篇

猜你喜欢

热点阅读