vue-cli(一)

介绍

vue-cli脚手架是‌ Vue.js项目的官方脚手架,基于‌ Node.js与‌ Webpack构建,用于快速生成Vue工程化项目的工具。 它具有以下特点:

  1. 开箱即用

提供了一套完整的项目结构和配置,减少了手动配置的工作量。

  1. 基于Webpack

利用Webpack的资源打包和优化功能,提高项目的性能和稳定性。

  1. 功能丰富且易于扩展

支持创建Vue2和Vue3的项目,提供了丰富的功能和插件系统,便于定制和扩展。

  1. 支持命令行操作

通过命令行接口(CLI)进行项目创建和管理,提升了开发效率。‌

具体的代码在C:\Users\Administrator、

主要介绍一些功能的实现方法:

导航栏的实现:

复制代码
<template>
    <div class="nav">
        <!-- 导航栏:点击对应列表项通过路由跳转 -->
        <ul>
            <li v-for="(value,index) in nararr" :key="index">
                <router-link :to="value.url" >{{value.name}}
            </router-link>
            </li>
        </ul>
    </div>
</template>

<script>
export default {
    name:"NavDemo",
    data(){
        return{
            nararr:[
            {name:"首页",url:"/home"},
            {name:"MV",url:"/mv"},
            {name:"热门歌手",url:"/hot"},
          
        ]
        }  
    }
}

这里的导航都是通过路由进行跳转的

路由是在router/index.js中进行配置的,这个要新建一个

导入路由的方式

在mian.js中

复制代码
import Vue from 'vue'
import App from './App.vue'

// 导入路由
import router from "./router/index"

Vue.config.productionTip = false

new Vue({
  render: h => h(App),
  router
}).$mount('#app')

这里是在main.js中写的。后面是导入模块的地址,前面是起的别名。

在route/index.js中

这里写具体的路径,还有各种导入的模块。

复制代码
// 导入Vue
import Vue from "vue";
// 导入路由
import VueRouter from "vue-router";
// 使用路由
Vue.use(VueRouter)
// 导入所有通过路由跳转的组件
import HomeDemo from "@/components/home/HomeDemo.vue";

const router = new VueRouter({
    routes:[
        {path:"/",component:HomeDemo},
        {path:"/home",component:HomeDemo},
        
    ]
})

// 默认导出路由
export default router

导入组件的方式

复制代码
<script>
// 导入组件
import TopDemo from './TopDemo.vue';
export default {
    name: "HomeDemo",
    data(){
        return{}
    },
  //注册成子组件
  components: {
        TopDemo,
        
    }
}
</script>

在script中导入组件,都是导入子组件,路径是组件的路径,名字命名一样就好。

保存公共数据的方法

首先,在我的电脑中,veu-cli路径中的这个添加文件夹mixin,

复制代码
// mixin混入:保存公共数据;可以定义多个mixin
// 导出mixin  
export const mixin1 = {
    data(){
        return{
            index:0
        }
    },
    methods:{
        clickli(i){
            this.arr[this.index].state = false;
            this.index = i;
            this.arr[i].state = true;
        }
    }
}

组件中mixin使用的地方

这里是在首页上面导航栏的部分使用mixin来存储数据

下面导航栏也一样

复制代码
<script>
// 导入mixin混入
import { mixin1 } from '../../mixin/index';
export default {
    name:"TopDemo",
    data(){
        return{
            arr:[
                {title:"首页",state:true},
                {title:"天猫",state:false},
                {title:"淘宝",state:false},
                {title:"京东",state:false}
            ],
            
        }
    },
    // 使用mixin
    mixins:[mixin1],
    methods:{
    }
}
</script>
相关推荐
qq_5470261793 小时前
Flowable 工作流引擎
java·服务器·前端
刘逸潇20054 小时前
CSS基础语法
前端·css
Sheldon一蓑烟雨任平生4 小时前
Vue3 插件(可选独立模块复用)
vue.js·vue3·插件·vue3 插件·可选独立模块·插件使用方式·插件中的依赖注入
吃饺子不吃馅5 小时前
[开源] 从零到一打造在线 PPT 编辑器:React + Zustand + Zundo
前端·svg·图形学
小马哥编程6 小时前
【软考架构】案例分析-Web应用设计(应用服务器概念)
前端·架构
鱼与宇6 小时前
苍穹外卖-VUE
前端·javascript·vue.js
啃火龙果的兔子6 小时前
前端直接渲染Markdown
前端
z-robot6 小时前
Nginx 配置代理
前端
用户47949283569156 小时前
Safari 中文输入法的诡异 Bug:为什么输入 @ 会变成 @@? ## 开头 做 @ 提及功能的时候,测试同学用 Safari 测出了个奇怪的问题
前端·javascript·浏览器
没有故事、有酒6 小时前
Ajax介绍
前端·ajax·okhttp