快速启动vue项目(自用)
快速创建一个vue项目
1.用webStorm创建一个默认的vue项目并安装依赖或者利用vite创建一个vue项目
2.打开vite.config.js文件中删除vueDevTools(),这个工具
3.打开终端安装所需要的项目依赖例如:
axios(网络请求依赖),pinia(状态管理依赖),element-plus(UI框架依赖)或者antDesign-vue(UI框架依赖) vue-router(路由依赖) 这些基本依赖
axios:
▼text复制代码npm install axios
pinia:
▼text复制代码npm install pinia
element-plus:(和下面的antDesign-vue可以二选一,也可以一起选)
▼text复制代码npm install element-plus --save
antDesige-vue:
▼text复制代码npm i --save ant-design-vue@4.x
vue-router:
▼text复制代码npm install vue-router@4
pinia-plugin-persistedstate:(用于pinia开启持久化存储)
▼text复制代码npm install pinia-plugin-persistedstate
4.安装项目开发依赖项(插件)例如:
unplugin-auto-import,unplugin-vue-components(VUE自动导入的开发依赖项可以将自动导入并且应用于全局而不是某一个文件中)
▼text复制代码npm install -D unplugin-vue-components unplugin-auto-import
5.配置vite.concig.js文件
如果安装了自动配置插件和elementplus,需要在vite.concig.js中进行配置顺便配置服务路由
▼js复制代码import AutoImport from 'unplugin-auto-import/vite'; import Components from 'unplugin-vue-components/vite'; import {ElementPlusResolver} from "unplugin-vue-components/resolvers"; plugins: [ vue(), // 配置插件 AutoImport({ imports:["vue","vue-router","pinia"], //加入这句以后每个vue里都不需要再用import来导入 resolvers: [ElementPlusResolver()], }), Components({ resolvers: [ElementPlusResolver({importStyle:'sass'})], }), ] //和plugins,resolve等同级 server:{ host:'0.0.0.0', port:5713, proxy:{ '/api':{ target:'http://localhost:8080', ws: true, changeOrigin:true, rewrite:path => path.replace(/^\/api/,'') } } }
这里要在终端安装一个sass支持库,因为配置的时候配置了自动引入sass
▼text复制代码npm install -D sass-embedded
6.重构各个文件
创建文件夹以及文件
1.配置router路由
创建router文件夹,里面创建Index.js文件
放入下列代码:
▼js复制代码import {createRouter, createWebHistory} from "vue-router"; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ //这里放入路由,例如: { path:'/', component: import('../Layout/BasicLayout.vue') } ] }) export default router;
2.重新配置全局样式
先将下面的图片放在assets/images目录下命名为404
1.创建styles文件夹,里面创建common.css文件
写入下面的代码:
▼css复制代码* { box-sizing: border-box; font-size: 15px; } html { font-size: 14px; } body { height: 100%; color: #333; min-width: 1240px; font: 1em/1.4 'Microsoft Yahei', 'PingFang SC', 'Avenir', 'Segoe UI', 'Hiragino Sans GB', 'STHeiti', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', sans-serif; } body, ul, h1, h3, h4, p, dl, dd { padding: 0; margin: 0; } a { text-decoration: none; color: #333; outline: none; } i { font-style: normal; } input[type='text'], input[type='search'], input[type='password'], input[type='checkbox'] { padding: 0; outline: none; border: none; -webkit-appearance: none; } input[type='text']::placeholder, input[type='search']::placeholder, input[type='password']::placeholder, input[type='checkbox']::placeholder { color: #ccc; } img { max-width: 100%; max-height: 100%; vertical-align: middle; background: #ebebeb url('@/assets/images/404.jpg') no-repeat center / contain; } ul { list-style: none; } #app { background: #f5f5f5; user-select: none; } .container { width: 1300px; margin: 0 auto; position: relative; } .ellipsis { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .ellipsis-2 { word-break: break-all; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; } .fl { float: left; } .fr { float: right; } .clearfix:after { content: '.'; display: block; visibility: hidden; height: 0; line-height: 0; clear: both; } .el-breadcrumb__inner.is-link { font-weight: 400 !important; }
2.在main.js中引入这个文件
▼js复制代码import './styles/common.css'
3.创建stores文件夹
里面创建xxxStore.js文件,用于处理请求获得的信息
4.创建utils文件夹
用于存放工具类
5.创建apis文件夹
用于存放请求的api
6.创建Layout文件夹
放网站基础页面
7.创建views文件夹
放网站路由页面
更改已有文件
1.index.html文件
▼html复制代码<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="icon" href="/favicon.ico"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Vite App</title> </head> <body> <div id="app" style="width: 100%;height: 100%"></div> <script type="module" src="/src/main.js"></script> </body> </html>
2.main.js文件
▼js复制代码import './styles/common.css' import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import router from './router' import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' const app = createApp(App) const pinia = createPinia(); app.use(pinia) pinia.use(piniaPluginPersistedstate)//可选(就是开启pinia的持久化存储到浏览器) app.use(router) app.mount('#app')
3.App.vue文件
▼vue复制代码<script setup> </script> <template> <h1>测试,这是首页</h1> <RouterView/> </template> <style scoped> </style>
7.基本的布局
在layout文件夹下创建BasicLayout.vue文件
代码如下:
▼vue复制代码<script setup> </script> <template> <div class="basicLayout"> <el-container> <el-header>Header</el-header> <el-main>Main</el-main> <el-footer class="footer">这里放版权信息</el-footer> </el-container> </div> </template> <style scoped> .basicLayout .footer { background-color: #efefef; width: 100%; height: 50px; line-height: 50px; color: black; text-align: center; position: fixed; left: 0; right: 0; bottom: 0; } </style>
然后在App.vue文件中引入该路由即可
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
作者分享
第一份实习
继几次面试之后也是找到实习了 只不过是一个中厂外包,想问一下给位鱼友,我在boss上看到是实习 5 个月,但是到了之后她们让我签一直到毕业的实习,实习协议上好像没有写违约金什么的
我想问中途可以违约吗?那样还能有实习证明吗?,下一家公司看到实习经历,会不会要实习证明呢🤔
6
第一次面试结果
3
求助,大三找实习,马上就要第一次面试了,请问应该怎么准备?,注意点什么或者有什么要问面试官的吗?(。・ω・。)?
5
求助!!,请问各位鱼友们,我大三最近想找暑期实习,结果在boss上问了很多,都要求近期到岗
我想问一下暑假实习应该怎么找?我大四一整年没课,毕业设计也已经做完了,可以一直实习
1
麻烦大家帮忙看一下,简历这样可以找到暑期实习吗?大三暑期实习|・ω・`)
2
