一、创建项目

首先安装vue:安装或者升级vue:npm install -g @vue/cli

保证 vue cli 版本在 4.5.0 以上:vue --version

1、使用vue-cli创建:

创建一个项目 | Vue CLI

创建项目:vue create 项目名称

选择以下选项: 

看自己是否需要保存

在终端输入:cd 项目名称

npm run serve(运行)

2、使用vite创建:

快速上手 | Vue.js

在终端输入:npm init vue@latest

输入项目名称

按需求选择,例如:

输入:cd 项目名称

npm i

npm run dev(运行)

二、请求配置

安装axios:npm i axios -S(开发和上线都用)
                         npm i axios -D(开发用)

1、虚拟接口:

创建:public->data->名称.json:(代码根据自己的需求写),有两种方式,

例如:方式1:

{
"id":1,"name":'石家庄',"distance":'100m'
}

例如:方式2:

[{"id":1,"name":'石家庄',"distance":'100m'},{"id":2,"name":'衡水',"distance":'100m'}
]

封装axios:src->hooks->request.ts:

import { ref } from 'vue'
import axios from 'axios'/*
使用axios发送异步ajax请求
*/
export default function useUrlLoader<T>(url: string) {const result = ref<T | null>(null)const loading = ref(true)const errorMsg = ref(null)axios.get(url).then(response => {loading.value = falseresult.value = response.data}).catch(e => {loading.value = falseerrorMsg.value = e.message || '未知错误'})return {loading,result,errorMsg,}
}

利用:新建页面:例如:request.vue(发送请求,把数据渲染上去):

对应上面的方式1:

<template><div class="about"><h2 v-if="loading">LOADING...</h2><h2 v-else-if="errorMsg">{{errorMsg}}</h2><ul v-else><li>id: {{result.id}}</li><li>name: {{result.name}}</li><li>distance: {{result.distance}}</li></ul></div>
</template><script lang="ts">
import useRequest from '../hooks/request'// 地址数据接口
interface AddressResult {id: number;name: string;distance: string;
}// 产品数据接口
interface ProductResult {id: string;title: string;price: number;
}export default {setup() {const {loading, result, errorMsg} = useRequest<AddressResult>('/data/名称.json')return {loading,result,errorMsg}}
}
</script>

对应上面的方式2:

<template><div class="about"><h2 v-if="loading">LOADING...</h2><h2 v-else-if="errorMsg">{{errorMsg}}</h2><ul v-for="p in result" :key="p.id"><li>id: {{p.id}}</li><li>title: {{p.name}}</li><li>price: {{p.distance}}</li></ul></div>
</template><script lang="ts">
import useRequest from '../hooks/request'// 地址数据接口
interface AddressResult {id: number;name: string;distance: string;
}// 产品数据接口
interface ProductResult {id: string;name: string;price: number;
}export default {setup() {const {loading, result, errorMsg} = useRequest<ProductResult[]>('/data/名称.json')return {loading,result,errorMsg}}
}
</script>

配置路由:

{path: '/request',component: romeView},

2、真实接口

配置代理(解决跨域问题):vue.config.js(该文件改了之后需要重启项目)

跨域错误:

//配置代理devServer:{//所有的配置项proxy:{//配置'/course-api':{//代理名称,这里最好有一个target:'https://course.myhope365.com/api', // 后台接口域名changeOrigin:true,//是否跨域pathRewrite:{'^/course-api':''//路径重写}},// 'api':{//     target:'https://course.myhope365.com', // 后台接口域名//     changeOrigin:true,//是否跨域//     // pathRewrite:{//     //     '^/course-api':''//路径重写//     // }// },}}
};

创建页面:src->views->名称.vue:

<template><div>
<!--    ref的-->
<!--    <div v-for="i in list" :key="i.id">-->
<!--      <img :src="i.imgUrl" alt="">-->
<!--    </div>--><!--    reactive的-->
<!--    <div v-for="i in list.swiperList" :key="i.id">-->
<!--      <img :src="i.imgUrl" alt="">-->
<!--    </div>--></div>
</template><script>
import axios from "axios"
import {ref,reactive} from 'vue'
export default {name: "cou",setup(){// let list = ref([])let list = reactive({swiperList:[]})axios.get('/course-api/weChat/applet/course/banner/list?number=4').then(res=>{console.log(res)//ref的// list.value = res.data.data//  reactive的list.swiperList = res.data.data})return {// list}}
}
</script><style scoped></style>

vue3项目创建及请求配置相关推荐

  1. vue3 项目创建(UI图形化界面方式,可视化操作Vue项目,vue ui)

    vue3 项目创建 (UI图形化界面方式,可视化操作Vue项目,vue ui) 目录 一.图形化界面方式搭建vue3 项目前提条件 1.检查node 和 @vue/cli 版本信息 2.升级你的 No ...

  2. vue3项目创建运行报错sockjs.js?9be2:1609 GET http://192.168.17.53:8080/sockjs-node/info?t=1637203080085

    报错sockjs.js?9be2:1609 GET http://192.168.17.53:8080/sockjs-node/info?t=1637203080085 net::ERR_CONNEC ...

  3. SpringBoot+layui实现简单登录(项目创建+前后端配置)

    后端技术 开发工具 IDEA Java 1.8 项目构建 spring boot 2.6.7 项目管理 maven 3.6.3 持久层 mybatis-plus 3.5.0 数据库 MySQL 8.0 ...

  4. SkeyeWebPlayer.js H5播放器开发之webpack项目创建级编译配置(一)

    SkeyeWebPlayer.js H5播放器开发之播放器动态渲染video. 动态渲染是采用js进行创建dom.添加dom.添加class.style等方式操作dom元素.最终将播放器编译成成一个独 ...

  5. Python网站导航项目-2.项目创建与环境配置

    每每用到别人的导航网站会充斥的各种的广告,以及很多无用的内容,用起来真的很烦人.把内容网址收藏到浏览器中又很不方便,因此基于git的前端代码结合Django Web开发自制一套简易的导航网站项目. 项 ...

  6. Python个人主页项目-2.项目创建与环境配置

    学习Python已经6年有余,从事的行业数据分析师,算法工程师.爬虫工程师.目前准备正式入行全栈,先做一个个人的博客系统,用来记录日常工作的每一天,也是为自己做一个展示自己的空间. 同时也为大家提供一 ...

  7. vue3项目实战的请求接口问题(一)跨域问题+解决方法

    vue3 跨域问题➕常用解决方法 前言引入 跨域问题 解决跨域问题常用方法

  8. vue3 项目部署,Nginx配置https,重定向,详细流程

    文章目录 前情提要 应用场景 安装 使用 实战解析 最后 前情提要 一个web项目完成后,我们需要打包部署上线,关于打包的实战在我的vite专栏里已经有过一些实践,今天我们来实践一些部署的过程,当然部 ...

  9. 构建第一个Spring Boot2.0应用之项目创建(一)

     1.开发环境 IDE: JAVA环境: Tomcat: 2.使用Idea生成spring boot项目 以下是使用Idea生成基本的spring boot的步骤. (1)创建工程第一步 (2)创建工 ...

最新文章

  1. Js获取下拉框选定项的值和文本
  2. win 修改jvm时间_Windows 下修改Tomcat jvm参数
  3. Java开发的几个注意点
  4. servlet解析演进(2-1)
  5. 2014 网选 上海赛区 hdu 5047 Sawtooth
  6. Linux 环境变量设置及查看
  7. citypersons数据集下载
  8. python制作词作云动画_3分钟教你用python制作一个简单词云
  9. 【空间分析-文章学习笔记】1 基于卫星数据反演及空间分析方法对由pm2.5引导的中国男性肺癌的发病率的预测
  10. Tinker生成补丁包
  11. 阿里云储存OSS(服务端签名后前端直传)
  12. php呼叫平台,php – Twilio呼叫转发
  13. [UE4][C++]简单超人小游戏(游戏接受键盘事件)
  14. 水哥王昱珩的教育语录:输不丢人,怕输才丢人
  15. dede标签属性(转载)
  16. 计算机综合布线实验报告,综合布线设计实验报告.doc
  17. K_A07_003 基于 STM32等单片机驱动DRV8825模块按键控制步进电机正反转
  18. imac 27寸 安装 win 7 黑屏问题,完美解决办法!
  19. 读书笔记:《穷爸爸富爸爸》——Robert T. Kiyosaki
  20. C#连接云服务器MySql数据库

热门文章

  1. 税务加强计算机相关知识培训,贺州市地税局推行分类分级培训提升干部素质
  2. 百城巡展 | 人大金仓5月联合伙伴释放数字活力奏响发展强音
  3. 酞菁钴COPC,酞菁钴(II),cAS:3317-67-7
  4. 推荐系统的主要算法(2)
  5. Win10(Win7)设置固定IP地址
  6. Valheim英灵神殿服务器端口2456-2457-2458开启
  7. 如何把VS背景设置成豆沙色
  8. Ctrl+C、Ctrl+V不好使怎么办?windows系统热键占用查询
  9. 存储服务器内的温度检测信号线 用线,存储环境监测与数据记录系统设计
  10. log(A/B) = logA -logB 证明