Vue05--脚手架及第三方组件库的安装使用

1.vue脚手架

# 脚手架的含义:就是一个写好空模板的vue框架,我们只需填写自己的内容即可


# node的安装,官方下载,一路下一步
    -node === python
    -npm  === pip
    
# 使用npm安装第三方模块,速度慢一些,换成淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 以后用cmpm代替npm的使用


# 安装脚手架:
    cnpm install -g @vue/cli   (-g 是全局安装的意思)

# 创建vue项目
    vue create 项目名
    
    # 选择-自定义创建项目
    	-Choose Vue version  选择版本
        -Babel    语法兼容
        -Router   路由(常用)
        -Vuex     状态管理器
        选项由空格选中
        
        -选择 In.package.json

# 图形化界面创建vue项目
    vue ui   

2.vue脚手架的使用

1.vue-cli项目目录介绍

mysecondvue            # 项目名
    -node_modules      # 项目的依赖包 (类似于venv文件夹),可以删掉,给别人发一定要删除(很大,且别人没法用)
    
    -public            # 文件夹
        -favicon.ico   # 网站标题前的小图标
        -index.html    # 整个网站的index页面,单页面开发
        
    -src               # 文件夹
    	-assets        # 网站的静态文件和资源
        -components    # 一堆组件,小组件
            -HelloWorld.vue # 自定义的组件
        -router        # vue-router相关
            -index.js  # js文件(类似python的__init__)
        -store         # vuex相关(存储变量的,浅学不用了解)
        -views         # 一堆组件,页面组件
            -Home.vue  # 页面组件
        -App.vue       # 根组件
        -main.js       # 整个项目的入口 (类似settings.py)
        
   -.gitignore         # git相关,目前无用	
   -babel.config.js    # 不用管
   -package.json       # 项目依赖的包,类似于 requirments.txt
                       # 后期node_modules删除了,就依赖于这个文件安装模块 npm install 
   -README.md          # 关于项目的介绍
    
        
# 以后写代码,都在src写,其它地方一般不动

2.新建组件,使用组件

# 以后写vue的项目,就是创建组件 编写
    -每个组件都有三部分
        <template> 写html内容,原来组件的template </template>
        <script> js,data,methods,created等 </script>
        <style> 样式 </style>

# 页面组件的使用步骤
    -新建一个 xx.vue,默认生成了三部分
        -在<template>写html,学的vue的插值,指令,事件...
    	-在<script>写js,学的data,methods...
    	-在<style>中写样式,之前学的css
    
    -想访问某个路径,就能够显示这个页面组件
     在router--->index.js文件中
    	-1.导入组件
            import 起个名字 from '../views/UserDetail.vue'
    
    	-2.注册路由
            在const routes = []数组中加对象
            {
                path: '/',   # 访问的路径
                name: 'Home', # 对象名字
                component: Home  # 导入的组件对象
            }
     
        
# 小组件的使用步骤
    -新建一个 xx.vue,默认生成了三部分
        -在<template>写html,学的vue的插值,指令,事件...
    	-在<script>写js,学的data,methods...
    	-在<style scoped>中写样式,之前学的css
            # style 一般加上 scoped 属性,表示css只对当前组件生效
        
    
    -想在页面组件中使用
     在页面组件的 script标签 中
    	-1.导入:import HelloWorld from "../components/HelloWorld";
        
        -2.注册:
            export default {
                data(){},
                components:{  // 自定义了一个局部组件
                'HelloWorld':HelloWorld
                }
            }
                
        -3.使用:在页面组件的<template>中就使用这个小组件,自定义属性...

3.vue-router的使用

# 以后只需要在router---index.js中复制粘贴
    在const routes = []数组中加对象
        {
            path: '/',   # 访问的路径
            name: 'Home', # 对象名字
            component: Home  # 导入的组件对象
        }

3.1 前端路由跳转

# 前端路由跳转
    # 在html中
    <router-link to='/detail'>点我看美女</router-link>
    # 在js中
    this.$router.push('/detail')
    this.$router.go(-1)  # -1 表示后退到上个页面

# 方式一:前端路由跳转时,携带参数    '/course/detail/4'
    -router/index.js中
       {
        path: '/course/detail/:pk',
        name: 'CourseDetail',
        component: CourseDetail
   	 },
    -在路由跳转中-传递参数
        <router-link to='/course/detail/4'>点我看美女</router-link>
        
    -在详情页面中-获取参数
    	-this.$route.params.pk # 就拿到4
        
        
# 方式二:前端路由跳转时,携带参数    '/course/detail/?pk=4'
    -router.js中
       {
        path: '/course/detail/',
        name: 'CourseDetail',
        component: CourseDetail
   	 },
    -在路由跳转中-传递参数
    	<router-link to='/course/detail/?pk=4'>点我看美女</router-link>
        
    -在详情页面中-获取参数
    	-this.$route.query.pk # 就拿到4
            
 # 前端this.$router 和this.$route的区别
    -this.$router 是路由对象,能够实现路由的跳转
    	-this.$router.push('/home')
        -this.$router.go(-1)  # -1 表示后退到上个页面
        
    -this.$route 是当前路径对象,能够获取当前路径的一些参数

4.导入导出语法(es6)

# 导出,新建一个js,定义变量,方法,
    -使用:export default { 对象 }
    
# 导入,在任意js中,根据路径导入
    -import utils from '../utils' //utils就是刚刚导出的对象
    # 若是名字叫 index.js  导入时到文件夹就可以了;其他名字时,就写上文件名
    
    -使用:utils.add(2,3)
// 导出
const name = 'lqz'
let age = 10
function add(a, b) {
    console.log(age)
    return a + b
}
export default {
    'name': name,
    'add': add
}
// 导入
import utils from '../utils'  // utils就是刚刚导出的对象 
let res=utils.add(1,2,)

5.bootstrap& jquery的使用

# 1 执行两条命令,安装
cnpm install jquery -S    (-S 表示对当前目录生效)
cnpm install bootstrap@3 -S

# 2 配置jQuery:在项目根路径新建 vue.config.js
    const webpack = require("webpack");
    module.exports = {
        configureWebpack: {
            plugins: [
                new webpack.ProvidePlugin({
                    $: "jquery",
                    jQuery: "jquery",
                    "window.jQuery": "jquery",
                    "window.$": "jquery",
                    Popper: ["popper.js", "default"]
                })
            ]
        }
    };

# 3 配置bootstrap:在main.js中写代码
    import 'bootstrap'
    import 'bootstrap/dist/css/bootstrap.min.css'
    
# 4 bootstrap使用: template中写bootstrap的样式即可
   
# 5 jQuery使用:在js中使用 jQuery的ajax      但是不要用,应该使用axios的
    $.ajax({
        url: 'http://127.0.0.1:5000/',
        type: 'get',
        success:(res)=> {
            console.log(res)
        }
    })

6.第三方组件库的使用

### 新---热门组件库
# 1 使用第三方插件
https://github.com/vuejs/awesome-vue#components--libraries
集合了来自社区贡献的数以千计的插件和库。

# 2 使用第三方UI框架
饿了么UED团队推出的vue 前端框架:

# PC框架:
(element UI , iview)

element UI 官网:http://element.eleme.io/
element UI github:https://github.com/ElemeFE/element

# 移动端框架:
(mint UI)

mint UI官网:https://mint-ui.github.io/docs/
mint UI github:https://github.com/ElemeFE/mint-ui




# web端(pc端):elementui,iview
# 小程序,安卓:uni-app + vant(ui组件库)

# elementui的使用
参考 官方文档:https://element.eleme.cn/#/zh-CN

# 1.安装
cnpm install element-ui -S

# 2.完整引入 (也可以只引入部分组件)
在 main.js 中写入以下内容:
    import ElementUI from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    
    Vue.use(ElementUI);

7.axios的使用

# 1 安装
cnpm install axios -S

# 2 直接使用
import http from 'axios'
http.get().then(res=>{})

# 3 每次使用时,都要先导入 很麻烦,故可将配置全局Vue中
main.js文件中:
    // 向Vue的原型中 放 属性为$http,值为:axios
    import axios from 'axios'
    Vue.prototype.$http=axios

使用:
    this.$http.get().then(res=>{})

8.关于静态文件的引入

8.1 require形式引入

<template>
  <div style="margin:100px">
    <div>
      <img :src="cat"  alt="猫咪">       // 图片src
    </div>
  </div>
</template>

<script>
export default {
  data () {
    return {
      cat: require('../assets/images/cat.jpg'),   // require转换一下图片地址
    }
  }
}
</script>

# 注意:require编译可能找到对应的图片地址

let url = "@/assets/images/logo.png"
require(url)    //报错

let url = "logo.png"
require("@/assets/images/" + url); //正确

# 故尽可能详细的指定 require 中的路径,然后拼接静态资源文件名变量

8.2 import形式引入

1. import引入图片
2. data中注册一下引入的图片名称
3. 模板中直接引用名称

<template>
  <div style="margin:100px">
    <div>
      <img :src="cute" alt="小可爱">  // img地址
    </div>
  </div>
</template>

<script>
import cute from '../assets/images/cute.jpg'   // import引入

export default {
  data () {
    return {
      cute             // data中注册图片
    }
  }
}
</script>

9.vue项目编译

就是把vue项目 用 webpack 编译成 纯HTML、CSS、JS的静态文件,就去服务器上部署前端项目

# 命令行中执行: npm run bulid
    
# 编译结果:在项目路径下的dist文件夹 :html、css、js
posted @ 2022-01-07 01:34  Edmond辉仔  阅读(149)  评论(0编辑  收藏  举报