当前位置: 首页 > news >正文

Vue ui初始化项目并使用iview写一个菜单导航

win+R
输入命令

vue ui

浏览器会自动打开http://localhost:8000/
找到创建

image.png

选择一个目录创建vue项目
image.png

点击再此创建新项目
image.png

我一般都是再已经有git仓库的目录进行项目创建,所以这个勾去掉
点击下一步
image.png

这里可以选择默认,我这边选择手动,方便以后初始化项目时不用每次去配
image.png

image.png

把常用的几个插件都打上勾
image.png

给预设设置一个名称
image.png

将我们初始化的项目跑起来
image.png

成功

使用iview写一个示例
image.png

image.png

image.png

添加一个前端框架,这里选择iview,依赖和插件都装一下


image.png
配置插件

第一个是按需引入或者全局引入,为了方便一般都全局引入
第二个是如果自定义主题颜色时需要打开,正常情况下都不需要

定制主题

image.png

第二个勾上就会多这个文件,用户定制主题,可以将示例的@primary-color去掉
https://github.com/view-design/ViewUI/blob/master/src/styles/custom.less

新建 vue.config.js
module.exports = {chainWebpack: config => {config.module.rule('vue').use('iview').loader('iview-loader').options({prefix: false})},
}
编写一个导航菜单
修改App.vue
<template><div id="app"><router-view></router-view></div>
</template><script>
export default {name: 'app',components: {}
}
</script><style>
#app {}
</style>
修改Home.vue
<template><div><Menu active-name="1"><MenuGroup title="内容管理"><MenuItem name="1" :to="{path:'/home/menu1'}"><Icon type="md-document"/>菜单1</MenuItem><MenuItem name="2" :to="{path:'/home/menu2'}"><Icon type="md-chatbubbles" />菜单2</MenuItem></MenuGroup></Menu><router-view></router-view></div>
</template><script>export default {components: {}
}
</script>

添加两个Vue文件,内容随便填


image.png
修改路由 router/index.js
import Vue from 'vue'
import VueRouter from 'vue-router'Vue.use(VueRouter)const title = '网页标题'
const routes = [{path: '/',redirect: '/home/menu1',meta: {title: title},},{path: '/home',name: 'Home',component: () => import('../views/Home.vue'),meta: {title: title},children: [{path: 'menu1',component: () => import('../views/Menu1.vue'),meta: {title: title + '-菜单1'},},{path: 'menu2',component: () => import('../views/Menu2.vue'),meta: {title: title + '-菜单2'},},]}
]const router = new VueRouter({mode: 'history',base: process.env.BASE_URL,routes
})export default router

解决ie兼容性文件
修改 babel.config.js

module.exports = {presets: [['@vue/app', {useBuiltIns: 'entry',polyfills: ['es6.promise','es6.symbol']}]]
}

修改main.js

// 解决低版本兼容性问题
import 'core-js'import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import './plugins/iview.js'Vue.config.productionTip = falsedocument.title = ''
router.beforeEach((to, from, next) => {/* 路由发生变化修改页面title */if (to.meta.title) {document.title = to.meta.title}next()
})new Vue({router,store,render: h => h(App)
}).$mount('#app')


喜欢的朋友记得点赞、收藏、关注哦!!!

相关文章:

  • Excel 数组功能及应用示例
  • 磁盘文件系统【Linux操作系统】
  • Copilot:您的AI伴侣-微软50周年系列更新
  • openEuler 22.03 安装 Nginx,支持离线安装
  • 2025年数字创意设计与图像处理国际会议 (DCDIP 2025)
  • YOLO11改进-模块-引入跨模态注意力机制CMA 提高多尺度 遮挡
  • JavaScript性能优化实战之代码层面性能优化
  • SQL语句练习 自学SQL网 多表查询
  • DeepSeek-Prover-V2-671B最新体验地址:Prover版仅适合解决专业数学证明问题
  • SIFT特征点检测
  • Azure AI Foundry实战:从零开始构建智能应用
  • 【保姆级教程-Centos7环境下部署postgresql15并设置开机自启】
  • Github开通第三方平台OAuth登录及Java对接步骤
  • 深度解析| 信创浪潮下,传统AD域如何破局?
  • 2025-04-30 AIGC-如何做短片视频
  • vue 和 html 的区别
  • undefined reference的问题(同时链接静态,动态库可能导致的问题)
  • 大连理工大学选修课——机器学习笔记(9):线性判别式与逻辑回归
  • Android学习总结之点击登录按钮流程
  • css 数字从0开始增加的动画效果
  • 从“长绳系日”特展看韩天衡求艺之路
  • 解放日报:“北斗七星”列阵,AI群星闪耀
  • 剑指3000亿产业规模,机器人“武林大会”背后的无锡“野望”
  • 五一“大车流”来了,今日午后G40沪陕高速开始迎来出沪高峰
  • 事关广大农民利益,农村集体经济组织法5月1日起施行
  • 辽宁省全力开展辽阳一饭店火灾事故救援处置工作