当前位置: 首页 > web >正文

Uniapp 项目创建与目录结构解析

以下为新手必懂的完整指南,涵盖项目创建流程和核心文件作用解析:


一、项目创建流程
  1. 安装开发工具
    使用 HBuilderX(官方 IDE)或命令行创建:

    # 全局安装 vue-cli
    npm install -g @vue/cli# 创建项目(选择默认模板)
    npx degit dcloudio/uni-preset-vue#vite my-project
    

  2. 初始化配置
    运行后自动生成基础结构,关键步骤:

    • 选择模板:默认模板(含基础示例)
    • 包管理器:npmyarn
    • 自动安装依赖

二、核心目录结构解析
my-project/
├── src/                 # 核心开发目录
│   ├── pages/           # 所有页面目录
│   │   └── index/       # 示例首页
│   │       ├── index.vue  # 页面组件
│   │       └── index.json # 页面配置文件
│   │
│   ├── static/          # 静态资源(图片/字体等)
│   ├── App.vue          # 应用根组件
│   └── main.js          # 应用入口文件
│
├── uni_modules/         # 插件模块(自动生成)
├── manifest.json        # 应用配置(名称/图标/权限)
├── pages.json           # 全局页面路由与样式
├── package.json         # npm依赖管理
└── vite.config.js       # Vite构建配置(如使用Vite模板)


三、关键文件作用详解
  1. pages.json

    • 控制全局页面路由与样式
    • 配置导航栏、底部 tabBar
    {"pages": [{"path": "pages/index/index","style": {"navigationBarTitleText": "首页"}}],"globalStyle": {"navigationBarTextStyle": "black"}
    }
    

  2. manifest.json

    • 定义应用基本信息
    • 配置 App 图标、启动页、SDK 权限
    {"name": "MyApp","appid": "__UNI__XXXXXX","description": "示例应用","icons": [{ "src": "static/logo.png" }]
    }
    

  3. App.vue

    • 全局入口组件
    • 初始化全局样式、监听生命周期
    <script>
    export default {onLaunch: () => console.log('App 启动')
    }
    </script>
    <style> /* 全局CSS */ </style>
    

  4. 页面文件组(以 index.vue 为例)

    • index.vue:页面布局与逻辑
    • index.json:局部页面配置(覆盖全局)
    <!-- index.vue -->
    <template><view class="container"><text>Hello Uniapp!</text></view>
    </template>
    

  5. static/ 目录

    • 存放无需编译的静态资源
    • 访问路径:/static/logo.png

四、新手注意事项
  1. 路由规则

    • 新增页面需在 pages.json 注册路径
    • 路径格式:pages/目录名/文件名(无后缀)
  2. 资源引用原则

    • 图片/字体:优先放 static/
    • 组件/工具:放 components/utils/
  3. 多端适配技巧
    使用条件编译:

    <!-- #ifdef H5 -->
    <div>仅H5显示的组件</div>
    <!-- #endif -->
    

提示:运行 npm run dev:%PLATFORM%(如 dev:mp-weixin)启动开发环境,通过 HBuilderX 可视化工具可实时预览多端效果。

http://www.xdnf.cn/news/19461.html

相关文章:

  • 网站漏洞早发现:cpolar+Web-Check安全扫描组合解决方案
  • Elasticsearch面试精讲 Day 3:分片与副本策略详解
  • Win32学习笔记 | recv函数
  • 【Linux系统】线程互斥
  • 【安全学习】DVWA 靶场 SQL 注入漏洞原理分析与防御策略(教育用途)
  • C#语言入门详解(17)字段、属性、索引器、常量
  • 微软:LLM多阶段强化学习框架
  • 深入探讨JavaScript性能瓶颈:我的优化实战与思考
  • mac Monterey 安装erlang23
  • 【数据分享】上市公司-创新投入、研发投入数据(2007-2022)
  • LeetCode 287.寻找重复数
  • 基于EcuBus-Pro实现LIN UDS升级
  • 动态规划2(c++)
  • 【工具类】ssh使用案例
  • (HR小科普)人才测评软件的功能和应用
  • CH59x CH58x 触摸按键应用开发实例讲解(二)
  • 【Zephyr炸裂知识系列】11_手撸内存泄露监测算法
  • Pomian语言处理器研发笔记(二):使用组合模式定义表示程序结构的语法树
  • Tiptrans转运 | 免费5国转运地址
  • Web网络开发 -- jQuery框架
  • REST-assured 接口测试编写指南
  • 【Canvas与戳记】蓝底黄面十六角Premium Quality戳记
  • 开发环境全面配置指南:语言环境与数据库工具
  • 基于单片机音乐喷泉/音乐流水灯/音乐播放器设计
  • 规律作息 + 养成好的习惯 + 考研倒计时 111 天 + 线面积分入门 1 下半部分
  • 【LeetCode - 每日1题】鲜花游戏
  • 2025年- H101-Lc209--1979.找出数组的最大公约数(gcd最大公约数)--Java版
  • 【物联网】MQTT(Message Queuing Telemetry Transport)是什么?
  • 深入解析 dex2oat:vdex、cdex、dex 格式转换全流程实战
  • RK3576开发板串口配置及使用