搭建Vue前端项目的流程

一、搭建Vue项目流程

1、安装nodejs
测试安装是否成功

$ npm -v
6.14.16
$ node -v
v12.22.12

2、全局安装npm install -g @vue/cli,后续会使用到vue命令

$ vue --version
@vue/cli 5.0.8

3、使用vue create demo_project_fe命令创建项目,使用箭头键来选择,确认使用回车键
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/61bdb06ab6a44da3890b7d8b0c0caf27.png请添加图片描述
成功界面
请添加图片描述
查看新建项目

$ cd demo_project_fe
$ ll
total 408
-rw-rw-r--   1 work work     73 Dec  6 20:59 babel.config.js
-rw-rw-r--   1 work work    279 Dec  6 20:59 jsconfig.json
drwxrwxr-x 571 work work  20480 Dec  6 20:59 node_modules
-rw-rw-r--   1 work work    891 Dec  6 20:59 package.json
-rw-rw-r--   1 work work 366868 Dec  6 20:59 package-lock.json
drwxrwxr-x   2 work work   4096 Dec  6 20:59 public
-rw-rw-r--   1 work work    327 Dec  6 20:59 README.md
drwxrwxr-x   4 work work   4096 Dec  6 20:59 src
-rw-rw-r--   1 work work    118 Dec  6 20:59 vue.config.js

4、执行npm run serve启动项目
请添加图片描述

二、使用element-ui前端框架

官网:https://element.eleme.cn/#/zh-CN/component/installation
1、安装element-ui,使用命令npm i element-ui -S
2、在main.js中导入element-ui以及对应的css文件

import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import App from './App.vue'
import router from './router'

Vue.config.productionTip = false
Vue.use(ElementUI)

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

三、使用Vue Router实现页面导航栏功能

官网:https://router.vuejs.org/zh/guide/advanced/dynamic-routing.html
1、使用npm install vue-router@3命令安装Vue Router
2、在src目录下新建一个router目录,并新建一个index.js文件

import Vue from 'vue'
import Router from 'vue-router'
import MainComponent from '../components/MainComponent.vue'
import HelloWorld from '../components/HelloWorld.vue'
import Child1 from '../components/Child1Test.vue'
import Child2 from '../components/Child2Test.vue'

Vue.use(Router);

// 1. 定义一些路由
// 每个路由都需要映射到一个组件
const routes = [
    {
        path: '/',
        component: MainComponent,
        leaf: false,
        name: 'MainComponent',
        children: [
            {
                path: 'child1', 
                component: Child1,
                leaf: true,
                name: 'Child1'
            },
            {
                path: 'child2', 
                component: Child2,
                leaf: true,
                name: 'Child2'
            },
        ]
    },
    {
        path: '/',
        component: HelloWorld,
        leaf: false,
        name: 'HelloWorld',
        children: [
            {
                path: 'child3', 
                component: Child1,
                leaf: true,
                name: 'Child3'
            },
            {
                path: 'child4', 
                component: Child2,
                leaf: true,
                name: 'Child4'
            },
        ]
    },
]

let router = new Router({
    mode: 'history',
    routes: routes
});

export default router;

3、App.vue文件中使用<router-view>组件作为路由主出口

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

<script>

export default {
  name: 'App',
  components: {
  }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

4、MainComponent.vue实现了使用<router-link>组件跳转新路由地址,也通过引入CommonAside组件实现了导航栏功能
备注:<router-view>组件可以在多处使用

<template>
  <div>
    <h1>我是Main组件</h1>
    <p>
        <!-- 使用 router-link 组件来导航 -->
        <!-- 通过传入 `to` 属性指定链接 -->
        <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
        <router-link to="/child1">Go To Ghild1</router-link>
        <router-link to="/child2">Go To Ghild2</router-link>
    </p>
    <!-- 路由出口 -->
    <!-- 路由匹配到的组件将渲染在这里 -->
    <router-view></router-view>
    <CommonAside/>
  </div>
</template>
<script>
  import CommonAside from '@/components/CommonAside.vue'
  export default {
    components: {
      CommonAside
    },
    data() {
        return {}
    },
    mounted() {
        console.log('router:', this.$router);
    }
  }
</script>

5、CommonAside.vue中通过<el-menu>组件的router属性可以实现在激活导航时以 index 作为 path 进行路由跳转。当然也可以不使用router属性,而是使用<router-link :to="{ name: subItem.name}">{{ subItem.name }}</router-link>也可以实现子菜单内容跳转

<template>
    <div>
        <el-container>
            <el-aside width="200px">
                <el-menu 
                    default-active="1-2"
                    router
                    class="el-menu-vertical-demo"
                    @open="handleOpen"
                    @close="handleClose"
                    :collapse="isCollapse"
                >
                    <!-- index用于确定选中的菜单项,是唯一标识 -->
                    <!-- v-bind:(简写为:,用于属性绑定) -->
                    <div v-for="item in $router.options.routes" :key="item.name" :index="item.name">
                        <!-- 一级菜单、二级菜单 -->
                        <el-submenu :key="item.name" index="item.name">
                            <!-- slot表示插槽 -->
                            <template slot="title">
                                <!-- <i :class="`el-icon-${item.icon}`"></i> -->
                                <span slot="title">{{ item.name }}</span>
                            </template>
                            <!-- 对子菜单进行渲染 -->
                            <el-menu-item-group v-for="subItem in item.children" :key="subItem.path">
                                <el-menu-item :index="subItem.path">{{ subItem.name }}</el-menu-item>
                            </el-menu-item-group>
                        </el-submenu>
                    </div>
                </el-menu>
            </el-aside>
            <el-main>
                <router-view></router-view>
            </el-main>
        </el-container>
    </div>
</template>
 
<script>
export default {
    data() {
        return {
            //控制导航栏为展开模式
            isCollapse: false
        }
    },
    methods: {
        handleOpen() {},
        handleClose() {}
    },
    mounted() {
        console.log('router:', this.$router);
    }
}
</script>

页面效果:
请添加图片描述

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建前端Vue项目流程如下: 1. 环境准备:确保已经安装了Node.js和npm(或者使用yarn)。 2. 安装Vue CLI:使用npm或yarn全局安装Vue CLI,命令为:`npm install -g @vue/cli` 或 `yarn global add @vue/cli`。 3. 创建新项目:在命令行中执行`vue create 项目名`命令,创建一个新的Vue项目。你可以选择手动配置选项或使用默认配置。 4. 选择配置:如果选择手动配置,会出现一系列问题,包括选择Vue版本、Babel和TypeScript的配置、是否使用ESLint等。根据项目需求进行选择并进行相应的配置。 5. 安装依赖:等待项目创建完成后,进入项目目录,执行`npm install` 或 `yarn install`命令,安装项目所需的依赖。 6. 开发与构建:执行`npm run serve`或`yarn serve`命令,启动开发服务器,开始开发调试。在开发过程中,可以通过修改src目录下的文件来编写Vue组件和逻辑代码。 7. 页面和组件开发:根据项目需求,设计和编写页面和组件。Vue项目中,页面通常由多个组件组成,可以使用单文件组件(.vue文件)来编写组件。 8. 数据管理和路由配置:根据需要,可以选择使用Vue提供的状态管理工具Vuex来管理应用的状态,并配置Vue Router来实现前端路由。 9. 调试和测试:在开发过程中,可以使用Vue Devtools等工具进行调试和性能优化。同时,可以编写单元测试和端到端测试来确保项目的质量。 10. 打包和部署:在开发完成后,执行`npm run build`或`yarn build`命令,将项目打包成静态文件。将生成的dist目录中的文件部署到服务器或云平台上即可。 以上是搭建前端Vue项目的一般流程,根据实际需求和团队偏好,可能会有一些微调。祝你搭建项目顺利!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值