亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

帶你一步步從零搭建一個Vue項目

 更新時間:2022年05月23日 11:21:32   作者:游坦之  
Vue.js是現(xiàn)在比較優(yōu)秀的Web前端框架,非常推薦大家入門學習,這篇文章主要給大家介紹了關于如何一步步從零搭建一個Vue項目的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下

一、項目創(chuàng)建

1、打開命令行窗口Cd /d進入想要創(chuàng)建項目的位置,輸入vue create 項目名

2、選擇Vue2

3、運行該項目

4、創(chuàng)建成功

在瀏覽器中輸入以上網址:localhost:8080,來到一下界面,說明成功

 二、路由的配置

1、安裝路由(vue2 只能安裝3版本的vue-router)

看一下這個文件有vue-router代表安裝成功

2、配置路由

(1、創(chuàng)建router文件夾

 (2、創(chuàng)建index.js,配置路由

重定向的解釋:當網址下(如localhost:8080/xxx)匹配不到相應的路由的時候,則跳轉到重定向所設置的路徑

路由組件與非路由組件的歸類:compoents文件夾一般放置非路由組件
pages文件夾一般放置路由組件

路由還有很多沒寫:(

        1、路由守衛(wèi):解決在某些條件下不能跳轉到其他路由

        2、二級路由

        3、路由組件在某些地方不展示,可以增加一個屬性

        4、路由的傳參和跳轉

meta:可以配置一些參數(shù),作用其實是讓一些非路由組件展示與不展示

//引入Vue
import Vue from "vue";
//引入Vue-router
import VueRouter from "vue-router";
//使用VueRouter
Vue.use(VueRouter);
//引入路由組件
import Home from "@/components/Home"
import Search from "@/components/Search"
//對外暴露一個Vue實例
export default new VueRouter({
    //配置路由
    routes:[
        {
            path:'/Home',
            component:Home,
            name:"Home",
            meta:{isshow:true}
        },
        {
            path:'/Search',
            component:Search,
            name:"Search",
            meta:{isshow:false}
        },
        //重定向
        {
            path:'*',
            redirect:"/Home"
        }
    ]
})

在main.js出口文件中注冊路由

import Vue from 'vue'
import App from './App.vue'
 
Vue.config.productionTip = false
//引入路由
import router from './router'
new Vue({
  render: h => h(App),
  //配置路由,KV一致,省略V
  //這里使用router之后,組件身上都有$router,$route屬性
  //$router最常用來跳轉push跳轉  $route最常用來獲取參數(shù)
  router
}).$mount('#app')

Vue中配置一個出口 <router-viwe><router-view/>

<template>
  <div id="app">
    <Header/>
    <!-- 路由的出口 -->
    <router-view></router-view>
    <Footer/>
  </div>
</template>
 
<script>
import Header from './components/Header'
import Footer from "@/components/Footer"
export default {
  name: 'App',
  components: {
    Header,
    Footer
  }
}
</script>
 
<style>
 
</style>

 三、API接口配置

1、安裝axios

 axios幫助文檔 配置的時候可以跟著來,不用死記硬背

 這里面有代表安裝成功

2、axios的二次封裝

(1、創(chuàng)建api文件夾,創(chuàng)建resquest.js文件(其實該文件就是axios)

 (2、axios的二次封裝 看著文檔來

//引用axios
import axios from "axios";
const requests = axios.create({
    // baseURL的作用 例如我有一個接口的網址為www.baidu/api/love
    // 如果很多接口都是www.baidu/api/xxx
    //我可以省略/api,因為axios會自動幫你添上,這就是baseUrl的作用
    baseURL: '/api',
    //請求超時的時間為5s
    timeout: 5000,
    
  });
  //請求攔截器,發(fā)請求之前可以做一些事情
  requests.interceptors.request((config)=>{
        //config配置對象,有一個屬性 請求頭headers
        return config;
  })
 
  //相應攔截器
  requests.interceptors.response((res)=>{
    // 服務器成功返回
    //簡化返回的數(shù)據(jù),只返回data
    return res.data;
  },(error)=>{
    //失敗
    //靜態(tài)函數(shù)Promise.reject返回一個被拒絕的Promise對象。通過使用 Error的實例 獲取錯誤原因(reason)對調試和選擇性錯誤 捕捉很有幫助。
    Promise.reject(new Error("faile"));
  })

在API文件下創(chuàng)建一index.js文件,用來統(tǒng)一管理接口請求 

//結構統(tǒng)一管理
import requests from "./request"
 
//method 有get 和 post兩種方式
// 有參數(shù)的需要些模板字符串``
export const reqGetSomeInfo = (p)=>requests({url:`"/baidu/${p}"`,method:"get"});
// 無參數(shù)直接寫
export const reqGetSomeInfo2 = ()=>requests({url:"/baidu",method:"get"});
//需要傳對象的可以用data屬性
export const reqGetSomeInfo3 = (p,data)=>requests({url:`"/baidu"/${p}`,data:data,method:"get"});

3、跨域問題

跨域:如果多次請求協(xié)議、域名、端口號有不同的地方,稱之為跨域

傳統(tǒng)的解決方式:JSONP、CROS、代理

代理:

在vue.config.js里添加一下代碼

 //配置代理跨域
  devServer: {
    // /api的作用是:當?shù)刂分?,出現(xiàn)api時,瀏覽器會自動向target請求數(shù)據(jù)
    //注意配置這個,需要重新啟動一下項目
    proxy: {
      "/api": {
        target: "http://39.98.123.211",
      },
    },
  },

四、Vuex

以前寫的Vuex詳解 不贅敘了

1、安裝vuex

 同樣這個json文件里面有,就是安裝成功了

 2、配置倉庫 創(chuàng)建store文件夾,是為大倉庫。Home文件夾是Home小倉庫

Home倉庫(在此處調用api接口)

import { reqGetSomeInfo } from "@/api"
const state = {
    someInfo:[]//此處是空對象 還是 空數(shù)組要看接口返回的值
}
const mutations = {
    GETSUM(state,someInfo)
    {
        state.someInfo = someInfo;
    }
}
const actions = {
    //params是攜帶的參數(shù)
    async getsum({commit},params)
    {
        let result =  await reqGetSomeInfo;
       if(result.code == 200)//請求成功會返回code = 200
       {
            commit("GETSUM",result.data)
       }
    }
}
//getter是為了簡化操作
const getters = {}
 
export default{
    state,
    actions,
    getters,
    mutations
}

小倉庫需要在大倉庫注冊 Store.js

import Vue from "vue";
import Vuex from "vuex"
Vue.use(Vuex);
import Home from "./Home"
export default new Vuex.Store({
    modules:{
        Home,//Home小倉庫在大倉庫里注冊
    }
})

入口文件引入store main.js

import Vue from 'vue'
import App from './App.vue'
 
Vue.config.productionTip = false
//引入路由
import router from './router'
//引入倉庫
import store  from './store'
new Vue({
  render: h => h(App),
  //配置路由,KV一致,省略V
  //這里使用router之后,組件身上都有$router,$route屬性
  //$router最常用來跳轉push跳轉  $route最常用來獲取參數(shù)
  router,
  //這里使用store后,組件身上都有了$store屬性
  store,
}).$mount('#app')

整個流程走一遍,發(fā)現(xiàn)vue也沒有那么難,真的把這四個組件搞明白,會很輕松。 前路漫漫,切不可放松。加油,努力

總結

到此這篇關于從零搭建一個Vue項目的文章就介紹到這了,更多相關Vue項目搭建內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue3全局組件注冊的實現(xiàn)代碼

    Vue3全局組件注冊的實現(xiàn)代碼

    在這篇文章中,我們將學習一下 Vue3 的全局組件注冊是如何實現(xiàn)的,文中通過代碼示例給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • 利用Vue.js制作一個拼圖華容道小游戲

    利用Vue.js制作一個拼圖華容道小游戲

    這篇文章主要為大家詳細介紹了如何利用Vue.js編寫一個拼圖華容道游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue實現(xiàn)刷新當前頁面的三種方式總結

    Vue實現(xiàn)刷新當前頁面的三種方式總結

    項目當中如果做新增/修改/刪除等等操作通常情況下都需要刷新數(shù)據(jù)或者刷新當前頁面。本文為大家整理了三種不同的實現(xiàn)方法,需要的可以參考一下
    2023-01-01
  • vue3使用useMouseInElement實現(xiàn)圖片局部放大預覽效果實例代碼

    vue3使用useMouseInElement實現(xiàn)圖片局部放大預覽效果實例代碼

    現(xiàn)在很多的項目里面圖片展示縮略圖,然后點擊實現(xiàn)圖片預覽,放大的功能,下面這篇文章主要給大家介紹了關于vue3使用useMouseInElement實現(xiàn)圖片局部放大預覽效果的相關資料,需要的朋友可以參考下
    2023-03-03
  • vue跳轉頁面并且實現(xiàn)參數(shù)傳遞接受示例

    vue跳轉頁面并且實現(xiàn)參數(shù)傳遞接受示例

    這篇文章主要為大家介紹了vue跳轉頁面并且實現(xiàn)參數(shù)傳遞接受示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Jeeplus-vue?實現(xiàn)文件的上傳功能

    Jeeplus-vue?實現(xiàn)文件的上傳功能

    這篇文章主要介紹了Jeeplus-vue?實現(xiàn)文件的上傳,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • electron+vue?實現(xiàn)靜默打印功能

    electron+vue?實現(xiàn)靜默打印功能

    這篇文章主要介紹了electron+vue?實現(xiàn)靜默打印功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Vue+Typescript中在Vue上掛載axios使用時報錯問題

    Vue+Typescript中在Vue上掛載axios使用時報錯問題

    這篇文章主要介紹了Vue+Typescript中在Vue上掛載axios使用時報錯問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-08-08
  • vue填坑之webpack run build 靜態(tài)資源找不到的解決方法

    vue填坑之webpack run build 靜態(tài)資源找不到的解決方法

    今天小編就為大家分享一篇vue填坑之webpack run build 靜態(tài)資源找不到的解決方法。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue數(shù)據(jù)驅動模擬實現(xiàn)2

    Vue數(shù)據(jù)驅動模擬實現(xiàn)2

    這篇文章主要介紹了Vue數(shù)據(jù)驅動模擬實現(xiàn)的相關資料,實現(xiàn)Observer構造函數(shù),監(jiān)聽已有數(shù)據(jù)data中的所有屬性,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評論