## 前言
### 🍊缘由
#### 博友有问,狗哥必答
前段时间,博友加本狗微信,询问**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函数,直接摘取成熟框架中�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
实现4大重点 uniapp项目搭建流程 uniapp项目常用组件引入方式 uniapp项目接口封装策略 uniapp项目常用配置整理 前置条件 1.HBuilderX 官方IDE下载地址 https://www.dcloud.io/hbuilderx.html 2.npm Node.js 包管理工具 安装Node等相关百度即可,简单易懂
资源推荐
资源详情
资源评论
收起资源包目录
example-uniapp-master.zip (15个子文件)
example-uniapp-master
pages.json 481B
pages
index
index.vue 1003B
App.vue 346B
manifest.json 3KB
main.js 617B
package.json 79B
package-lock.json 569B
common
api
index.js 162B
http
request.js 3KB
config
env.js 481B
uni.scss 46B
index.html 672B
.gitignore 247B
static
logo.png 4KB
README.md 14KB
共 15 条
- 1
资源评论
- yangwei_6282023-12-31资源内容详细全面,与描述一致,对我很有用,有一定的使用价值。
- fengxin82812024-02-28资源很受用,资源主总结的很全面,内容与描述一致,解决了我当下的问题。
云哲-吉吉2021
- 粉丝: 3982
- 资源: 1128
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring MVC和Hibernate框架的学校管理系统.zip
- (源码)基于TensorFlow 2.3的高光谱水果糖度分析系统.zip
- (源码)基于Python框架库的知识库管理系统.zip
- (源码)基于C++的日志管理系统.zip
- (源码)基于Arduino和OpenFrameworks的植物音乐感应系统.zip
- (源码)基于Spring Boot和Spring Security的博客管理系统.zip
- (源码)基于ODBC和C语言的数据库管理系统.zip
- (源码)基于Spring Boot和Vue的Jshop商城系统.zip
- (源码)基于C++的学生信息管理系统.zip
- (源码)基于Arduino的实时心电图监测系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功