• VUE3-博客全栈 04-前端


    本节:开始创建项目,搭建基础的main.js配置和路由配置

    整个项目上传到了gitee,这是链接:VUE3 博客全栈: VUE3 博客全栈

    一、项目搭建

    1.搭建一个vue3项目,搭建流程:(71条消息) Vue基础-02_V_zcm的博客-CSDN博客

    2. 然后在项目下,要安装 axios ,pinia,sass,vue-router,naive-ui,wangeditor 5 富文本编辑器  ,用 npm install 模块名字就可以安装了,,vue-router,naive-ui,wangeditor 5一些可能会更新版本的模块,要去对应网站看安装代码

    3.安装完,在终端打开项目:命令行执行: npm run dev  ,页面可以成功打开项目就搭建好了。

    二、在main.js文件 ,进行基础配置,将要用的一些全局模块在这里引入。比如:用的组件框架,pinia,aixios,自己创建的路由,自己创建的store文件;一些组件或者内容在这里注入,然后在别的页面引入inject方法,就可以全局调用了。

    // 以上的代码顺序很重要,比如:要先创建才能执行,挂载要放在所有的use下面等。

    1. import { createApp } from 'vue'
    2. import './style.css'
    3. import App from './App.vue'
    4. // 首先要安装 axios ,pinia,sass,vue-router,naive-ui,wangeditor 5富文本编辑
    5. import naive from 'naive-ui' //1.引入模块
    6. import { createDiscreteApi } from 'naive-ui' //1.引入模块
    7. import { AdminStore } from './stores/AdminStore' //1.引入
    8. import { router } from './common/router'
    9. import { createPinia } from 'pinia'
    10. import axios from 'axios'
    11. axios.defaults.baseURL = 'http://localhost:8080' //服务器全局地址
    12. // 独立API
    13. const { message, notification, dialog } = createDiscreteApi(["message", "dialog", "notification"])
    14. const app = createApp(App)
    15. app.provide('axiosTool', axios) //provide(使用的名字,真正注入的程序)方法注入
    16. // 然后在别的页面,要用的时候,在vue里面引入inject就可以注入成功
    17. app.provide('message', message)
    18. app.provide('notification', notification)
    19. app.provide('dialog', dialog)
    20. app.provide("server_url", axios.defaults.baseURL)
    21. app.use(naive)
    22. app.use(createPinia())
    23. //拦截器,这样就不用每次接口都传header了,
    24. // 每次请求都会先拦截下来,加个headers信息再请求
    25. const adminStore = AdminStore();
    26. axios.interceptors.request.use((config) => {
    27. config.headers.token = adminStore.token
    28. return config
    29. })
    30. app.use(router)
    31. app.mount('#app') //挂载要放在所有的use下面
    32. // 以上的代码顺序很重要,因为要先创建再执行,

    (app.vue这些文件的 margin和padding布局设置为0)

    三、在common 下创建一个router.js作为路由器:

    路由器的主要内容步骤:

    1.引入路由模块  ,2.设置路由模式  , 3.把路由暴露出去,才可以使用。 4.路由的设置

    1. import { createRouter, createWebHashHistory } from 'vue-router' //1.引入路由模块
    2. let routes = [ //4.路由的设置
    3. { path: '/test', component: () => import('../views/Test.vue') }, //路由
    4. { path: '/', component: () => import('../views/HomePage.vue') },
    5. { path: '/login', component: () => import('../views/LoginView.vue') },
    6. { path: '/detail', component: () => import('../views/Detail.vue') },
    7. {
    8. path: '/dashboard', component: () => import('../views/dashboard/Dashboard.vue'),
    9. children: [//子路由
    10. { path: "/dashboard/category", component: () => import('../views/dashboard/Category.vue') },
    11. { path: "/dashboard/article", component: () => import('../views/dashboard/Article.vue') },
    12. ]
    13. },
    14. ]
    15. const router = createRouter({ // 2.设置路由模式
    16. history: createWebHashHistory(),
    17. routes,//当前页面的路由信息
    18. })
    19. export { router, routes } // 3.把路由暴露出去,才可以使用。

  • 相关阅读:
    面向切面编程(AOP)
    react 环境搭建以及创建项目工程
    单点登录方法
    ASW3642 pin√pin替代TS3DV642方案,可使用原小板只需简单调整外围|ASW3642 HDMI二切一双向切换器方案
    小白必知必会的几个IP地址知识
    在Linux和Windows上安装分布式事务seata
    PHP PDO bindParam 和 bindValue 有什么区别
    Postman简单使用
    了解Shader
    leetcode.622. 设计循环队列(Design Circular Queue)
  • 原文地址:https://blog.csdn.net/m0_59214979/article/details/126740831