uniapp + uni-ui + vue3转cli

用HBuilder创建的项目,转成可以在vscode中打包、运行的项目。

本文不涉及ts,如有需要,请自行寻找其他需要适配内容。

1.创建新的 CLI 项目结构

复制代码
# 创建新的 CLI 项目
vue create -p dcloudio/uni-preset-vue my-cli-project
# 选择默认模板

2.代码迁移

复制代码
将下方文件及文件夹内容放到新项目的src目录下
- pages/                 → src/pages/
- static/               →  src/static/(若放到public/下,记得修改引入路径)
- App.vue               → src/App.vue
- main.js               → src/main.js
- manifest.json         → src/manifest.json
- pages.json            → src/pages.json
- uni.scss              → src/uni.scss

将index.html复制到根目录下,修改index.html中的引入
<script type="module" src="/src/main.js"></script>

3.修改package.json 配置(以下配置是基于h5可用的配置,若有其他小程序或应用位置,请自行修改,其他依赖自行添加)

复制代码
{
  "name": "my-cli-project",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev:h5": "cross-env NODE_ENV=development uni",
    "build:h5": "cross-env NODE_ENV=production uni build"
  },
  "dependencies": {
    "@dcloudio/uni-app": "3.0.0-4020420240722002",
    "@dcloudio/uni-app-harmony": "3.0.0-4020420240722002",
    "@dcloudio/uni-app-plus": "3.0.0-4020420240722002",
    "@dcloudio/uni-components": "3.0.0-4020420240722002",
    "@dcloudio/uni-h5": "3.0.0-4020420240722002",
    "@dcloudio/uni-mp-alipay": "3.0.0-4020420240722002",
    "@dcloudio/uni-mp-baidu": "3.0.0-4020420240722002",
    "@dcloudio/uni-mp-jd": "3.0.0-4020420240722002",
    "@dcloudio/uni-mp-kuaishou": "3.0.0-4020420240722002",
    "@dcloudio/uni-mp-lark": "3.0.0-4020420240722002",
    "@dcloudio/uni-mp-qq": "3.0.0-4020420240722002",
    "@dcloudio/uni-mp-toutiao": "3.0.0-4020420240722002",
    "@dcloudio/uni-mp-weixin": "3.0.0-4020420240722002",
    "@dcloudio/uni-mp-xhs": "3.0.0-4020420240722002",
    "@dcloudio/uni-quickapp-webview": "3.0.0-4020420240722002",
    "@dcloudio/uni-ui": "^1.5.11",
    "vue": "^3.4.21"
  },
  "devDependencies": {
    "@dcloudio/types": "^3.4.8",
    "@dcloudio/uni-automator": "3.0.0-4020420240722002",
    "@dcloudio/uni-cli-shared": "3.0.0-4020420240722002",
    "@dcloudio/uni-stacktracey": "3.0.0-4020420240722002",
    "@dcloudio/vite-plugin-uni": "3.0.0-4020420240722002",
    "@vue/runtime-core": "^3.4.21",
    "sass": "1.77.8",
    "sass-loader": "^8.0.2",
    "vite": "5.2.8",
    "vue-loader": "^16.0.0"
  }
}

4.新建/修改vite.config.js 配置

复制代码
import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'

import { resolve } from 'path'
export default defineConfig({
  plugins: [uni()],
  resolve: {
    alias: {
      '@': resolve(__dirname, 'src')
    }
  }
})

5.修改pages.json

复制代码
{
    "pages": [
        ...
    ],
	"easycom": {
	    "autoscan": true,
	    "custom": {
		    "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"
	    }
    }
}
  1. 安装依赖

  2. 运行

相关推荐
念你那丝微笑6 分钟前
uView Plus + Vue3 + TypeScript + UniApp 正确引入 UnoCSS(避坑版)
vue.js·typescript·uni-app
念你那丝微笑1 小时前
vue3+ts在uniapp项目中实现自动导入 ref 和 reactive
vue.js·typescript·uni-app
游戏开发爱好者81 小时前
如何使用 AppUploader 提交上传 iOS 应用
android·ios·小程序·https·uni-app·iphone·webview
iOS阿玮1 天前
AppStore卡审依旧存在,预计下周将逐渐恢复常态!
uni-app·app·apple
郑州光合科技余经理1 天前
开发实战:海外版同城o2o生活服务平台核心模块设计
开发语言·git·python·架构·uni-app·生活·智慧城市
行走的陀螺仪1 天前
在UniApp H5中,实现路由栈的持久化
前端·javascript·uni-app·路由持久化·路由缓存策略
影子打怪1 天前
uniapp通过plus.geolocation.watchPosition获取的坐标格式转换
uni-app
忒可君1 天前
2026新年第一篇:uni-app + AI = 3分钟实现数据大屏
前端·vue.js·uni-app
行走的陀螺仪1 天前
UniApp 横向可滚动 Tab 组件开发详解
uni-app·封装组件·tabs·自定义封装组件·可滚动组件tab
00后程序员张1 天前
在 iPhone 上进行 iOS 网络抓包的实践经验
android·ios·小程序·https·uni-app·iphone·webview