【万字长文】 Vue全家桶从入门到实战,超详细笔记整理 ( 三 ) (建议收藏)_vue(1)

框架相关

原生JS虽能实现绝大部分功能,但要么就是过于繁琐,要么就是存在缺陷,故绝大多数开发者都会首选框架开发方案。现阶段较热门是React、Vue两大框架,两者工作原理上存在共通点,也存在一些不同点,对于校招来说,不需要两个框架都学得特别熟,一般面试官会针对你简历中写的框架进行提问。

在框架方面,生命周期、钩子函数、虚拟DOM这些基本知识是必须要掌握的,在学习的过程可以结合框架的官方文档

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

Vue框架

知识要点:
1. vue-cli工程
2. vue核心知识点
3. vue-router
4. vuex
5. http请求
6. UI样式
7. 常用功能
8. MVVM设计模式

React框架

知识要点:
1. 基本知识
2. React 组件
3. React Redux
4. React 路由

5.配置淘宝镜像

  npm config set registry https://registry.npm.taobao.org
  npm config get registry

6.配置npm下载依赖位置

 windows:
	npm config set cache "D:\nodereps\npm-cache"
	npm config set prefix "D:\nodereps\npm\_global"
 mac os:
 	npm config set cache "/Users/chenyannan/dev/nodereps"
	npm config set prefix "/Users/chenyannan/dev/nodereps"

7.验证nodejs环境配置

npm config ls
; userconfig /Users/chenyannan/.npmrc
cache = "/Users/chenyannan/dev/nodereps"
prefix = "/Users/chenyannan/dev/nodereps"
registry = "https://registry.npm.taobao.org/"

##### 2、安装脚手架



0.卸载脚手架

npm uninstall -g @vue/cli  //卸载3.x版本脚手架
npm uninstall -g vue-cli  //卸载2.x版本脚手架

1.Vue Cli官方网站

https://cli.vuejs.org/zh/guide/

2.安装vue Cli

npm install -g vue-cli

##### 3、第一个vue脚手架项目



> 
> Vue-cli目录结构
> 
> 
> 


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2QDNftWz-1627871421740)(Vue实战笔记(三).assets/image-20210721155403325.png)\



1.创建vue脚手架第一个项目

vue init webpack 项目名

2.创建第一个项目

hello     ------------->项目名
-build  ------------->用来使用webpack打包使用build依赖  构建一些依赖文件
-config ------------->用来做整个项目配置目录   主要用来对 开发 测试 环境进行配置
-node_modules  ------>用来管理项目中使用依赖
-src					 ------>用来书写vue的源代码[重点]
	+assets      ------>用来存放静态资源 [重点]
  	components   ------>用来书写Vue组件 [重点]
  	router			 ------>用来配置项目中路由[重点]
  	App.vue      ------>项目中根组件[重点]
  	main.js      ------>项目中主入口[重点]
-static        ------>其它静态
-.babelrc      ------> 将es6语法转为es5运行
-.editorconfig ------> 项目编辑配置
-.gitignore    ------> git版本控制忽略文件
-.postcssrc.js ------> 源码相关js
-index.html    ------> 项目主页
-package.json  ------> 类似与pom.xml 依赖管理  jquery 不建议手动修改
-package-lock.json ----> 对package.json加锁
-README.md         ----> 项目说明文件

3.如何运行在项目的根目录中执行

npm run dev 运行前端系统

4.如何访问项目

http://localhost:8080    

5.Vue Cli中项目开发方式

 注意: 一切皆组件   一个组件中   js代码  html代码  css样式
 	1. VueCli开发方式是在项目中开发一个一个组件对应一个业务功能模块,日后可以将多个组件组合到一起形成一个前端系统
 	2. 日后在使用vue Cli进行开发时不再书写html,编写的是一个个组件(组件后缀.vue结尾的文件),日后打包时vue cli会将组件编译成运行的html文件	  


> 
> rc 目录
> 
> 
> 


`src`目录是项目的源码目录,所有代码都会写在这里!



> 
> main.js
> 
> 
> 


项目的入口文件,我们知道所有的程序都会有一个入口



// The Vue build version to load with the import command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from ‘vue’ // 引入VUE核心库
import App from ‘./App’ // 引入一个当前目录下的名字为App.vue的组件
import router from ‘./router’

Vue.config.productionTip = false // 是否要在生产环境当中给予提示功能。

/* eslint-disable no-new */
new Vue({
el: ‘#app’,
router,
components: { App },
template: ‘’
})


* `import Vue from 'vue'`:ES6 写法,会被转换成 require(“vue”); (require 是 NodeJS 提供的模块加载器)其实就相当于

 `<script src = "vue"></script>`
* `import App from './App'` :意思同上,但是指定了查找路径,./ 为当前目录
* `Vue.config.productionTip = false`:关闭浏览器控制台关于环境的相关提示
* `new Vue({})`:实例化 Vue


	+ `el: '#app'`:查找 index.html 中 id 为 app 的元素
	+ `template: '<App/>'`:模板,会将 index.html 中替换为
	+ `components: { App }` :引入组件,使用的是 import App from ‘./App’ 定义的 App 组件;



> 
> App.vue
> 
> 
> 



自定义脚手架


* template:HTML 代码模板,会替换 < App /> 中的内容
* export default{…}:导出 NodeJS 对象,作用是可以通过 import 关键字导入


	+ name: ‘App’:定义组件的名称
	+ components: { HelloWorld }:定义子组件
* 在hello,Vue中,关于 < style scoped> 的说明:CSS 样式仅在当前组件有效,声明了样式的作用域,是当前的界面私有的! 不加代表全局有效。



> 
> index.js 配置路由
> 
> 
> 



import Vue from ‘vue’
import Router from ‘vue-router’
import HelloWorld from ‘@/components/HelloWorld’

Vue.use(Router) //注册路由 new Vue({router,})

export default new Router({
routes: [
{
path: ‘/’,
name: ‘HelloWorld’,
component: HelloWorld
}
]
})



> 
> HelloWorld.vue
> 
> 
> 




##### 4、如何开发Vue脚手架


**注意:在Vue cli 中一切皆组件**


1、我们在HelloWorld.vue的同级目录下新建两个Student和User组件。


![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-liUgTnMu-1627871421742)(Vue实战笔记(三).assets/image-20210721204921996.png)]](https://img-blog.csdnimg.cn/41464533b7cf4b1a82b403952aaba234.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTYyOTI4NQ==,size_16,color_FFFFFF,t_70)




---


2、`Student.vue`和`User.vue`组件


`Student.vue`组件



hello world {{msg}}

我是学生管理的主页


`User.vue`组件



hello world {{msg}}

我是用户管理的主页


3、在`App.vue`组件中引入这两个组件的链接,进行路由切换



自定义脚手架

<router-link to="/">主页</router-link>
<router-link to="/user">用户管理</router-link>
<router-link to="/student">学生管理</router-link>

<!--展示路由-->
<router-view/>

4、启动项目,测试一下


![](https://img-blog.csdnimg.cn/64d34ae67a4241e796493e5a35b48df7.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTYyOTI4NQ==,size_16,color_FFFFFF,t_70)


### 17、在脚手架中使用axios


#### 17.1、安装axios



1.安装axios

npm install axios --save

2.配置main.js中引入axios

import axios from 'axios';
Vue.prototype.$http=axios;

3.使用axios

在需要发送异步请求的位置:this.$http.get("url").then((res)=>{}) this.$http.post("url").then((res)=>{})



---


### 18、Vue Cli脚手架项目部署



1.在项目根目录中执行如下命令:

npm run build
注意:vue脚手架打包的项目必须在服务器上运行不能直接双击运行

2.打包之后当前项目中变化

在打包之后项目中出现dist目录,dist目录就是vue脚手架项目生产目录或者说是直接部署目录

### 19、webstorm开发vue cli项目


#### 19.1、简介


WebStorm 是JetBrains公司旗下一款JavaScript 开发工具。已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/b13e104123ae41f9857c0f47d2ea5077.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTYyOTI4NQ==,size_16,color_FFFFFF,t_70)


#### 19.2、安装


官网地址:http://www.jetbrains.com/webstorm/


选择好安装路径


![](https://img-blog.csdnimg.cn/5211f173b1ab4c8588fc09fb1c8c26d1.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTYyOTI4NQ==,size_16,color_FFFFFF,t_70)


#### 19.3、使用webstorm


webstorm和idea同属于一家开发公司,因此使用方式基本一样。



> 
> 使用webstorm初始化项目
> 
> 
> 


1、我们新建一个webstromcodes项目。


2、打开Terminal终端,输入`vue init webpack vue_day5` ,进行`vue-day5`项目的创建。


3、接下来的步骤和使用Vue Cli脚手架开发一样。


4、显示如下页面,项目初始化成功。


![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aCUzAuOB-1627871421744)(Vue实战笔记(三).assets/image-20210722212053257.png)]](https://img-blog.csdnimg.cn/549231dbd2db4cb3b7db8333b59b8ace.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTYyOTI4NQ==,size_16,color_FFFFFF,t_70)


可以看下目录结构,和使用Vue CLI脚手架开发目录结构一致。


![](https://img-blog.csdnimg.cn/59310520ed554033ba087720cd49004d.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTYyOTI4NQ==,size_16,color_FFFFFF,t_70)


5、在Terminal终端输入`cd vue_day5`,进入当前项目根目录,项目目录中包含`package.json`才是根目录,可以输入`dir`查看当前目录结构。


6、最后我们输入`npm run dev`启动项目,出现如下界面:


![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-83zniwev-1627871421745)(Vue实战笔记(三).assets/image-20210722212849013.png)]](https://img-blog.csdnimg.cn/a20796d293d24a1c9bf6421a37954341.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTYyOTI4NQ==,size_16,color_FFFFFF,t_70)


说明项目成功运行!!!输入http://localhost:8080 ,打开浏览器查看一下,出现默认界面。



> 
> main.js 项目中主入口
> 
> 
> 



//引入vue.js
import Vue from ‘vue’
//引入app.vue 组件
import App from ‘./App’
//引入router目录中 /index.js
import router from ‘./router’

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
el: ‘#app’, //指定vue实例作用范围
router,
components: { App },
template: ‘’
})


#### 19.4、开发vue cli项目(一)


**1、Student组件**



template>

{{ msg }}


**4、index.js**



import Vue from ‘vue’
import Router from ‘vue-router’
//@ 代表src目录
import HelloWorld from ‘@/components/HelloWorld’
import User from ‘@/components/User’
import Student from “…/components/Student”;
Vue.use(Router)

export default new Router({
routes: [
{
path: ‘/’,
name: ‘HelloWorld’,
component: HelloWorld
},
{
path: ‘/user’,
name: ‘user’,
component: User
},{
path: ‘/student’,
name: ‘student’,
component: Student
}
]
})


启动项目测试一下:




#### react和vue的比较

相同
1)vitual dom
2)组件化
3)props,单一数据流

不同点
1)react是jsx和模板;(jsx可以进行更多的js逻辑和操作)
2)状态管理(react)
3)对象属性(vue)
4)vue:view——medol之间双向绑定
5)vue:组件之间的通信(props,callback,emit)

>**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

![](https://img-blog.csdnimg.cn/img_convert/81ef0a9695ff665a48db16579c2c3b50.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/fa7b18a25053fb687586f6e27894f252.webp?x-oss-process=image/format,png)

lt new Router({
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },
    {
      path: '/user',
      name: 'user',
      component: User
    },{
      path: '/student',
      name: 'student',
      component: Student
    }
  ]
})

启动项目测试一下:

react和vue的比较

相同
1)vitual dom
2)组件化
3)props,单一数据流

不同点
1)react是jsx和模板;(jsx可以进行更多的js逻辑和操作)
2)状态管理(react)
3)对象属性(vue)
4)vue:view——medol之间双向绑定
5)vue:组件之间的通信(props,callback,emit)

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

[外链图片转存中…(img-maiYezci-1715218315733)]

[外链图片转存中…(img-kG99gVg7-1715218315733)]

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3.0来了,你还学的动吗? 2020年9月底,Vue3.0正式版终于发布了。Vue在全球拥有 130 多用户 ,它被应用于各种不同的场景中。而在国内,更是最火热的前端框架,2.0与3.0的开发模式有了很大的改变,所以3.0的全新版本势必会引发新的一波学习潮流。对于前端开发者来说,不管你嘴上如何“学不动”,注定离不开“真相定律”,Vue3.0是你提升自身技术能力,晋升中级工程师一定要掌握的。  本课程将基于 Vue3.0 正式版,从Vue基础语法入手,全面掌握 Vue3.0 全家桶技术栈,并结合实战项目开发,让你拥有Vue3.0项目开发经验,更好的掌握Vue开发企业项目的流程 。 本课程共包括个模块 一、Vue基础篇 本模块将讲解Vue3.0基本用法、插值表达式、常用指令等知识点,还会精讲Vue 3.0核心语法,如计算属性、过滤器、监视器、模板、生命周期等内容。会带你深入理解Vue组件化技术,讲解全局组件和局部组件的定义,组件间数据传递,以及Vue内置组件等知识点。让你掌握模块化的概念,会通过Vue脚本架搭建项目,并掌握使用Axios发送AJAX请求,让你快速入门Vue3.0。 二、Vue核心篇 这个模块会带你讲解Vue3.0全家桶的知识点(Vue Router路由+Vuex状态管理),涉及Vue路由的用法、包括路由嵌套、路由模式、编程式导航、路由守卫等,还会全面讲解Vuex状态管理机制及使用,理解state、mutation、action等核心概念,让你轻松掌握Vue全家桶、项目实战实战项目会贴近企业流程,按照企业级别代码质量和工程开发流程进行授课,让你理解这套技术在企业中被使用的真实流程,更好的掌握Vue各个基础知识点。项目开发流程包括项目需求分析->环境搭建与配置->搭建远程Git仓库->接口分析->项目开发->打包上线。实战项目涉及内容

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值