如何搭建一个适配微信小程序,h5,app的uni-app项目

server/2025/3/16 8:03:29/

在vscode搭建 uni-app 项目(Vue 3 + Vite + Pinia + uView Plus)

一、环境准备

1. 安装 Node.js

确保已安装 Node.js(需≥14版本),可通过以下命令检查版本:

node -v

2. 安装 VSCode

从 VSCode 官网 下载并安装适合你操作系统的版本。

3. 安装 uni-app 官方插件

在 VSCode 中打开扩展视图(快捷键 Ctrl+Shift+X),搜索 “uni-app”,找到官方插件并安装。

4. 安装 Volar 插件

Volar 是 Vue 3 的官方语言服务,提供智能感知、语法检查等功能。在扩展视图中搜索 “Volar” 并安装。

二、创建项目

1. 初始化项目

首先,确保你已经安装了 Node.js 和 npm。然后,打开终端,使用以下命令创建一个新的 uni-app 项目:(个人node 版本 18.18.2)

注意: Vue3/Vite版要求 node 版本^14.18.0 || >=16.0.0

npm init uni-app my-uniapp-project --template=vue3-vite-uni

2. 进入项目目录

cd my-uniapp-project

3. 安装依赖

运行以下命令安装项目依赖:

npm install

4. 安装 uView Plus

安装 uView Plus UI 库:

npm install uview-plus

5. 配置 uView Plus

在 main.js 中引入并配置 uView Plus:

// main.js
import { createSSRApp } from 'vue';
import App from './App.vue';
import uView from 'uview-plus';export function createApp() {const app = createSSRApp(App);app.use(uView);return {app,};
}

在 main.ts 中引入 uView Plus 的样式:

// main.ts
import 'uview-plus/dist/style/index.scss';

6. 安装 Pinia

安装 Pinia 状态管理库:

npm install pinia

在 main.js 中引入并创建 Pinia 实例:

// main.js
import { createPinia } from 'pinia';
import { createApp } from 'vue';
import App from './App.vue';
import uView from 'uview-plus';const app = createApp(App);
app.use(createPinia());
app.use(uView);
app.mount('#app');

7. 创建 Pinia Store

在 src/stores 目录下创建一个新的 store 文件,例如 user.js:

// src/stores/user.js
import { defineStore } from 'pinia';export const useUserStore = defineStore('user', {state: () => ({name: 'John Doe',}),actions: {setName(name) {this.name = name;},},
});

在组件中使用 store:

<template><view><text>{{ userName }}</text><u-button @click="changeName">Change Name</u-button></view>
</template><script setup>
import { useUserStore } from '../stores/user';const userStore = useUserStore();
const userName = computed(() => userStore.name);function changeName() {userStore.setName('Jane Doe');
}
</script>

8. 配置 Vite

在 vite.config.js 中配置 Vite 以支持 uni-app:

// vite.config.js
import { defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';export default defineConfig({plugins: [uni()],
});

9. 配置package.json

这里需要适配h5、小程序>微信小程序、以及app或者其他各种小程序
配置以下命令在package.json

{"scripts": {"dev": "uni dev","dev:h5": "uni dev -p h5","dev:mp-weixin": "uni dev -p mp-weixin","build:h5": "uni build -p h5","build:mp-weixin": "uni build -p mp-weixin","build:mp-baidu": "uni build -p mp-baidu","build:mp-jd": "uni build -p mp-jd","build:mp-kuaishou": "uni build -p mp-kuaishou","build:mp-lark": "uni build -p mp-lark","build:mp-qq": "uni build -p mp-qq","build:mp-toutiao": "uni build -p mp-toutiao"}
}

以及对应的依赖项在dependencies

 	"@dcloudio/uni-app": "3.0.0-4040520250104002","@dcloudio/uni-app-harmony": "3.0.0-4040520250104002","@dcloudio/uni-app-plus": "3.0.0-4040520250104002","@dcloudio/uni-components": "3.0.0-4040520250104002","@dcloudio/uni-h5": "3.0.0-4040520250104002","@dcloudio/uni-mp-alipay": "3.0.0-4040520250104002","@dcloudio/uni-mp-baidu": "3.0.0-4040520250104002","@dcloudio/uni-mp-jd": "3.0.0-4040520250104002","@dcloudio/uni-mp-kuaishou": "3.0.0-4040520250104002","@dcloudio/uni-mp-lark": "3.0.0-4040520250104002","@dcloudio/uni-mp-qq": "3.0.0-4040520250104002","@dcloudio/uni-mp-toutiao": "3.0.0-4040520250104002","@dcloudio/uni-mp-weixin": "3.0.0-4040520250104002",

10.安装对应依赖并 运行项目

使用以下命令运行项目:

npm install
npm run dev:h5  // 运行 H5 平台
npm run dev:mp-weixin  // 运行小程序>微信小程序

这将启动开发服务器,并在浏览器中打开项目。

11. 条件编译

uni-app 支持条件编译,允许你根据不同平台编写特定的代码。例如:

// #ifdef H5
console.log('This code will only run on H5 platform');
// #endif// #ifdef MP-WEIXIN
console.log('This code will only run on WeChat Mini Program');
// #endif// #ifdef APP-PLUS
console.log('This code will only run on App platform');
// #endif

这样你可以根据需要在 请求拦截 或者 路径处理 时区分不同的运行环境

12. 构建项目

要构建项目,使用以下命令:

npm run build:h5  // 对应的命令

这将生成一个构建后的文件夹,其中包含可以部署的静态文件。

未完待续。。。


http://www.ppmy.cn/server/175361.html

相关文章

Python学习第十七天

Django框架-SQLite3 介绍 Django内置了对 SQLite3 数据库的支持。SQLite3 是一个轻量级的嵌入式数据库引擎&#xff0c;非常适合开发、测试和小型项目。以下是关于 Django 中 SQLite3 的介绍和应用指南。&#xff08;除了这些还支持mysql、oracle以及其他查询文档&#xff0c;…

python 入门教程 window 10 环境下安装pyenv

python的环境配置方法很多&#xff0c;由于python有两个大版本&#xff0c;很多时候需要切换某个固定的版本才能运行三方包&#xff0c;所以推荐使用pyenv 配置python 环境变量 pyenv 的安装 安装方法&#xff1a; Invoke-WebRequest -UseBasicParsing -Uri "https://r…

【反无人机目标检测数据集】空对空视觉检测微型无人机:深度学习的实验评估

Air-to-Air Visual Detection of Micro-UAVs&#xff1a; An Experimental Evaluation of Deep Learning 空对空视觉检测微型无人机&#xff1a;深度学习的实验评估 0.论文摘要 摘要—本文研究了利用单目摄像头进行空中对微型无人机&#xff08;UAV&#xff09;视觉检测的问题…

浅谈AI落地之-加速训练

前言 曾在游戏世界挥洒创意&#xff0c;也曾在前端和后端的浪潮间穿梭&#xff0c;如今&#xff0c;而立的我仰望AI的璀璨星空&#xff0c;心潮澎湃&#xff0c;步履不停&#xff01;愿你我皆乘风破浪&#xff0c;逐梦星辰&#xff01; 混合精度&#xff1a; FL32是目前模型存…

机器人的硬件设备的寄存器或其他控制接口能识别的程序

汇编语言 特点&#xff1a;与硬件底层紧密相关&#xff0c;能直接对寄存器进行读写操作&#xff0c;指令和硬件操作是一一对应的关系。可以精确控制指令执行的时序和资源使用&#xff0c;对于性能要求极高、对硬件资源使用非常敏感的场景是首选。应用场景&#xff1a;常用于开发…

C++类与对象——拷贝构造与运算符重载

拷贝构造函数和赋值运算符重载就是C类默认六个函数之二。 拷贝构造函数&#xff1a; 如果⼀个构造函数的第⼀个参数是自身类类型的引用&#xff0c;且任何额外的参数都有默认值&#xff0c;则此构造函数 也叫做拷贝构造函数&#xff0c;也就是说拷贝构造是⼀个特殊的构造函数…

C 语言实现彩票模拟:指针与数组的巧妙运用

在 C 语言编程学习中,通过实践项目来掌握知识是非常有效的途径。本次我们聚焦于一个彩票模拟程序的实现,这不仅能让大家巩固 C 语言的基础概念,还能深入理解指针和数组在实际场景中的运用。 一、彩票模拟程序需求分析 彩票模拟程序主要模拟真实彩票抽奖的过程。具体来说,需…

【Qt】自定义信号和槽函数

&#x1f3e0;个人主页&#xff1a;Yui_ &#x1f351;操作环境&#xff1a;Qt Creator &#x1f680;所属专栏&#xff1a;Qt 文章目录 1. 自定义槽函数1.1 基础语法1.2 使用connect连接信号1.3 使用函数名字的方式来自动连接 2.自定义信号函数3.知识补充3.1 signals和slots3.…