## 前言
### 🍊缘由
#### 博友有问,狗哥必答
前段时间,博友加本狗微信,询问**uniapp的学习方法**。本狗资历浅薄,没有专门学过uniapp,只能将自己日常开发**uniapp的基本流程和步骤**进行分享,希望可以略尽绵薄之力。**感谢**如下图所示的**博友朋友**的**询问支持**,大家的支持才是我进步的动力。
![](https://img.javadog.net/blog/example-uniapp/aa0c6842e2624db1b2176e319f1cfc43_tplv-k3u1fbpfcp-zoom-1.png)
*******
### 🎯主要目标
#### 实现4大重点
1. uniapp项目**搭建流程**
2. uniapp项目常用**组件引入方式**
3. uniapp项目**接口封装策略**
4. uniapp项目**常用配置整理**
******
## 🎁快速链接
### 公众号:JavaDog程序狗
**关注公众号,发送 【uniapp】,无任何套路即可获得**
![](https://img.javadog.net/blog/example-uniapp/1280c0e5221442e0b80e46075262d0bc_tplv-k3u1fbpfcp-zoom-1.png)
******
### 🍯猜你喜欢
#### 文章推荐
[【项目实战】SpringBoot+vue+iview打造一个极简个人博客系统](https://mp.weixin.qq.com/s/fbpVBQVe-4nHdjt5PBdwSw)
[【项目实战】SpringBoot+uniapp+uview2打造H5+小程序+APP入门学习的聊天小项目](https://mp.weixin.qq.com/s/g7AZOWLgW5vcCahyJDEPKA)
[【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序](https://mp.weixin.qq.com/s/t_qwF_HvkdW-6TI3sYUHrA)
[【模块分层】还不会SpringBoot项目模块分层?来这手把手教你!](https://mp.weixin.qq.com/s/fpkiNR2tj832a6VxZozwDg)
[【ChatGPT】手摸手,带你玩转ChatGPT](https://mp.weixin.qq.com/s/9wEelbTN6kaChkCQHmgJMQ)
[【ChatGPT】SpringBoot+uniapp+uview2对接OpenAI,带你开发玩转ChatGPT](https://mp.weixin.qq.com/s/b19J36Eo3-ba7bHbWzoZYQ)
******
### 🍈猜你想问
#### 如何与狗哥联系进行探讨
关注公众号【**JavaDog程序狗**】,里面包含**狗哥联系方式**,**有问必答**
![](https://img.javadog.net/blog/example-uniapp/38f4dad4a0974b6e9bae399dd11597b4_tplv-k3u1fbpfcp-zoom-1.png)
## 正文
### 🏀前置条件
#### 1.HBuilderX
>[官方IDE下载地址](https://www.dcloud.io/hbuilderx.html) https://www.dcloud.io/hbuilderx.html
#### 2.npm Node.js 包管理工具
> 安装Node等相关百度即可,简单易懂
### 🍄开始
#### 1.打开工具
双击打开HBuilder X
![](https://img.javadog.net/blog/example-uniapp/db198d87dedd4ed1b1dedca201ee343f_tplv-k3u1fbpfcp-zoom-1.png)
******
#### 2.创建新项目
- 点击HBuilder X工具左上角【文件】=》【新建】=》【项目】
![](https://img.javadog.net/blog/example-uniapp/6086e7c805e3478ea0a3cba0f95a710f_tplv-k3u1fbpfcp-zoom-1.png)
- 按照项目业务起名,如聊天系统就叫**chat-uniapp**,博客系统就叫**blog-uniapp**,这个地方不强制,个人习惯,**本次实例以example-unipp**作为项目名,选择默认模板,示例以**vue2版本**做基础,点击【创建】
![](https://img.javadog.net/blog/example-uniapp/5fa3e4336db54b549d9b41054930fd92_tplv-k3u1fbpfcp-zoom-1.png)
- 初始化项目结构如下
![](https://img.javadog.net/blog/example-uniapp/4c2861dfadc7407da20ff18af316fa4b_tplv-k3u1fbpfcp-zoom-1.png)
******
#### 3.引入组件
- 本狗在uniapp项目中,常用UI库及常用工具引入,小项目基本够用,大家可**按需加载**
| 插件 | 版本 | 用途 |
| --- | ----- | ----- |
| uview-ui| ^2.0.31 |多平台快速开发的UI框架 |
| moment | ^2.29.4 |js工具库 |
> [uView UI](https://www.uviewui.com/),是全面兼容nvue的**uni-app生态框架**,其中还包含**API相关JS函数**,方便封装易用。
![](https://img.javadog.net/blog/example-uniapp/78d02b2d152a4807bf3f859247dfc367_tplv-k3u1fbpfcp-zoom-1.png)
> [moment](http://momentjs.cn/)是**时间js工具库**,常用时间转化格式化等
![](https://img.javadog.net/blog/example-uniapp/0ebb35176bb44be0a2fe72f478140645_tplv-k3u1fbpfcp-zoom-1.png)
- 项目根路径新建package.json,配置上述依赖组件
```json
{
"dependencies": {
"moment": "^2.29.4",
"uview-ui": "^2.0.31"
}
}
```
![](https://img.javadog.net/blog/example-uniapp/d1df312304484a11baf95edcddc99474_tplv-k3u1fbpfcp-zoom-1.png)
- 项目根路径下拉取依赖
>右击项目根目录,点击【使用命令行窗口打开所在目录】,或者通过命令行进入项目路径都可
![](https://img.javadog.net/blog/example-uniapp/d64395fb08f94abba9ac98b69611a8f1_tplv-k3u1fbpfcp-zoom-1.png)
> npm i
![](https://img.javadog.net/blog/example-uniapp/57a04fbe60d545b2a9d50f50f9c15976_tplv-k3u1fbpfcp-zoom-1.png)
> 查看成功拉取依赖
![](https://img.javadog.net/blog/example-uniapp/5d5076c84972449f806348074448fc11_tplv-k3u1fbpfcp-zoom-1.png)
******
#### 4.组件配置
- 配置uview
1. 在**App.vue**中引入uview的scss
![](https://img.javadog.net/blog/example-uniapp/d5419b3eebeb4ecaa4f50b5393ef2968_tplv-k3u1fbpfcp-zoom-1.png)
2. 在**main.js**中引入uview
```js
import uView from 'uview-ui'
Vue.use(uView)
```
![](https://img.javadog.net/blog/example-uniapp/a00d0618edf24a35a247eb8e8d3aad84_tplv-k3u1fbpfcp-zoom-1.png)
3. 将根路径下**uni.scss**中,将uview的theme.scss 覆盖uniapp默认内置样式
```css
/* uni.scss */
@import 'uview-ui/theme.scss';
```
![](https://img.javadog.net/blog/example-uniapp/4bf6afd940014b2a9f483e80fa42d91b_tplv-k3u1fbpfcp-zoom-1.png)
4. 在pages.json中加入easycom
```json
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
```
![](https://img.javadog.net/blog/example-uniapp/6bd166eaa8d74dafb7878d7e05ebea92_tplv-k3u1fbpfcp-zoom-1.png)
5. 加入uview组件,在/pages/index/index.vue加入简单button组件
```html
<u-button type="primary" text="测试"></u-button>
```
![](https://img.javadog.net/blog/example-uniapp/17ab753e5a9045d992d2e80acc1e94c2_tplv-k3u1fbpfcp-zoom-1.png)
6. 启动项目,测试是否引入成功
点击【运行】=》【运行到浏览器】=》【chrome】,打开显示button即为成功
![](https://img.javadog.net/blog/example-uniapp/7fb2b78b2a2a4ec0a78a0acc24ec8812_tplv-k3u1fbpfcp-zoom-1.png)
![](https://img.javadog.net/blog/example-uniapp/8e56a7c79e3f47f3830db989a6699118_tplv-k3u1fbpfcp-zoom-1.png)
******
- 配置moment
1. 在**main.js**中引入moment
```js
// 引入moment
import moment from 'moment';
// 挂载到vue原型上,全局注册
Vue.prototype.$moment = moment;
```
![](https://img.javadog.net/blog/example-uniapp/329fa3812b234c14adb81126cf4e7027_tplv-k3u1fbpfcp-zoom-1.png)
2. /pages/index/index.vue中引入moment,调试组件
```html
<h3>{{$moment(new Date()).format('yyyy-MM-DD HH:mm:ss')}}</h3>
```
![](https://img.javadog.net/blog/example-uniapp/cf41728ea34044ec9bf7176fae323c99_tplv-k3u1fbpfcp-zoom-1.png)
3. 查看页面是否引入moment成功
![](https://img.javadog.net/blog/example-uniapp/510ff1ffa4a54c038c06c2fcfa6d2bde_tplv-k3u1fbpfcp-zoom-1.png)
******
#### 5.函数封装
- 环境变量
> 实际项目会分很多环境,如dev开发环境、local本地环境、prod生产环境等,针对不同环境,其中配置也有不同
在根路径下新建common/config文件包,在包中新建env.js
```js
// prod-生产 dev-开发 local-本地
const env = "local"
// contextPath路径
const contextPath = "example/v1"
const prod = {
baseUrl: `https://localhost:9001/${contextPath}`, // 线上环境'
}
const dev = {
baseUrl: `http://localhost:7001/${contextPath}`, // 开发环境'
}
const local = {
baseUrl: `http://localhost:8001/${contextPath}`, // 测试环境'
}
const config = {
dev,
prod,
local,
}
export default config[env]
```
![](https://img.javadog.net/blog/example-uniapp/4fb543d4425d4bbd872092a7b93712fd_tplv-k3u1fbpfcp-zoom-1.png)
挂载vue原型,全局注册config
```js
import config from '@/common/config/env.js'
Vue.prototype.$config = config;
```
- Http请求
> 通常将项目中与后台交互中Http请求做封装
因本项目采用**uview**为UI组件库,内置很多API函数,直接摘取成熟框架中�
云哲-吉吉2021
- 粉丝: 4057
- 资源: 1128
最新资源
- 基于阿里Dubbo框架的服务切换工具资料齐全+详细文档.zip
- 基于大规模生产实践的,适合公司内部二开迭代dubbo的模板资料齐全+详细文档.zip
- 基于大众点评CAT(v1.3.6)监控的扩展,主要是跨服务的消息树(dubbo、http方式)、Cache以及DB监控等资料齐全+详细文档.zip
- 基于将dubbo协议转http的网关资料齐全+详细文档.zip
- 基于分布式微服务架构(在线电影),技术架构有SpringBoot、SpringCoud、dubbo、mybatis-plus、Druid,采用前后端分离方式进行
- 基于微服务架构的班车预约系统,第一个版本:springboot+mybatis+dubbo+mysql+redis等。第二个版本:spring-cloud重构,
- 滚动轴承故障诊断MATLAB程序:快速谱峭度、谱峭度+包络谱分析 滚动轴承故障诊断是机械工程领域的一个重要研究方向 滚动轴承是一种常见的机械元件,用于支撑和转动机械装置中的轴 然而,由于长时间使用或其
- matlab GUI界面设计
- VSC下垂控制策略仿真模型,支持MATLAB2014a及以上版本
- wechat4.0多开工具
- 课程大作业2:视觉功能库封装 作业内容: 利用预训练模型,基于1ibsophon(tpu-runtime)实现一个视觉功能(目标检测)的库 作业要求: 1)提交 patch 到tpu-mli 工程
- 学习笔记整理成语音.docx
- 毕设和企业适用springboot智能语音识别平台类及物流追踪系统源码+论文+视频.zip
- PPT_20241224_090531.pptx
- ai提示规则.txt啊啊啊
- Visual Studio Code的测试功能详细介绍.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈