在VS Code中配置和使用UniApp开发的完整指南

admin6个月前 (05-19)it知识1029

UniApp是一个基于Vue.js的跨平台应用开发框架,而VS Code是许多开发者首选的轻量级代码编辑器。

本文将详细介绍如何在VS Code中配置UniApp开发环境、创建项目、调试以及解决常见问题。

一、环境准备与插件配置

1. 基础工具安装

首先需要安装以下基础工具:

  • Visual Studio Code‌:从官网下载最新版本

  • Node.js‌:建议安装LTS版本,用于运行npm/yarn等包管理工具

  • 微信开发者工具‌(如需开发微信小程序)

2. 推荐VS Code插件

在VS Code中开发UniApp项目,建议安装以下插件:

插件名称功能描述安装方式
uni-helper提供完整的uni-app API和组件代码提示,支持标签属性、事件等智能补全VS Code扩展商店搜索安装
Vue - Official官方Vue语法支持插件,对Vue 3 + TS开发友好,提供模板语法高亮、错误检测等功能VS Code扩展商店搜索安装
uni-create-view快速生成页面/组件模板,自动注册到pages.json中VS Code扩展商店搜索安装
uniapp小程序扩展鼠标悬停查看文档,快速跳转官方文档VS Code扩展商店搜索安装

这些插件可以大幅提升UniApp在VS Code中的开发体验和效率

3. TypeScript支持配置

如需使用TypeScript开发,还需要进行以下配置:

  1. 安装类型声明文件:

npm i -D @uni-helper/uni-app-types
  1. 修改tsconfig.json:

{  "compilerOptions": {    "types": ["@dcloudio/types", "@types/wechat-miniprogram", "@uni-helper/uni-app-types"]  }}
  1. 配置VS Code的文件关联:

"files.associations": {  "pages.json": "jsonc",  "manifest.json": "jsonc"}

这样可以获得更好的TS类型校验和代码提示

二、项目创建与配置

1. 创建UniApp项目

在VS Code中创建UniApp项目有两种主要方式:

方法一:使用Vue CLI创建

  1. 全局安装Vue CLI:

npm install -g @vue/cli
  1. 创建项目:

vue create -p dcloudio/uni-preset-vue my-uniapp-project

      选择默认模板

方法二:使用degit直接获取模板

npx degit dcloudio/uni-p[文]reset-vue#vite[章]-ts uniapp-base

这种方法会直接下载官方提供的使用了TypeScript和Vite的UniApp项目模板

 项目结构说明

典型的UniApp项目结构如下:

├─pages         # 业务页面文件存放的目录

│ └─index

│   └─index.[来]vue # index页面

├─static [自]       # 存放应用引用的本地静态资源的[一]目录

├─unpackage&nb[道]sp;    # 存放运行或发行的编译结果

├─index.html&n[,]bsp;   # H5端页面

├─main.js [一];      # Vue初始化入口文件

├─App.vue [个];      # 配置App全局样式、监听应用[分]生命周期

├─pages.json&n[享]bsp;   # 配置页面路由、导航栏、tab[的]Bar等

├─manifest.jso[网]n # 配置appid、应用名称、l[站]ogo、版本等打包信息

└─uni.scss      # uni-app内置的常用样式变量

运行项目

安装依赖后,可以使用以下命令运行项目:

# 安装依赖pnpm install# 运行微信小程序pnpm dev:mp-weixin# 运行H5pnpm dev:h5

运行成功后,微信小程序项目会生成在dist/dev/mp-weixin/目录下,可以导入微信开发者工具进行预览

三、调试配置

1. 微信小程序调试

  1. 首先确保已在manifest.json文件中配置了微信小程序的appid:

"mp-weixin": {  "appid": "wx1234567890",  "lazyCodeLoading": "requiredComponents"}

在VS Code中配置launch.json文件:

{  "version": "0.2.0",  "configurations": [    {      "type": "uniapp-run",      "request": "launch",      "name": "Uniapp Run",      "platform": "mp-weixin",      "openDevTool": true,      "vueVersion": "v3"    }  ]}

在VS Code的调试视图中选择"Uniapp Run"配置,点击"开始调试"按钮,项目将在本地启动并自动打开微信开发者工具

H5调试配置

对于H5端的调试,可以引入vConsole工具:

  1. 安装vConsole:

npm install vconsole
  1. 在App.vue中配置:

//#ifndef MPimport VConsole from 'vconsole';//#endiflet vConsole = null;export default {  onLaunch: function() {    //#ifndef MP    this.loadVConsole();    //#endif  },  methods: {    loadVConsole() {      if(urlConfig.isVConsole) {        vConsole = new VConsole({          defaultPlugins: ['system', 'network', 'element', 'storage'],          maxLogNumber: 1000        });      }    }  }}

这样在移动端H5环境中就可以像浏览器一样查看控制台日志了

跨域设置

在本地开发H5时,可能会遇到跨域问题,可以在manifest.json中配置代理:

"h5": {  "devServer": {    "https": false,    "port": 8080,    "proxy": {      "/apis": {        "target": "https://www.example.com",        "changeOrigin": true,        "secure": false,        "pathRewrite": {          "^/apis": ""        }      }    }  }}

然后在请求时将原域名替换为/apis前缀即可

四、脱离HBuilderX的开发方案

虽然HBuilderX是UniApp官方推荐的IDE,但在VS Code中也可以完全脱离HBuilderX进行开发:

  1. 使用uniapp run插件:

    • 在VS Code中安装uniapp run插件

    • 配置launch.json文件指定平台和Vue版本

    • 通过调试视图启动项目16

  2. 使用命令行工具:

    • 通过vue-clidegit创建项目

    • 使用npm/pnpm脚本运行和构建

    • 完全不需要安装HBuilderX

  3. 主要优势:

    • 更好的TypeScript支持

    • 更熟悉的开发环境

    • 更丰富的插件生态

    • 更灵活的项目配置

五、常见问题与解决方案

1. 编译速度慢或卡住

解决方案:

# 升级依赖npx @dcloudio/uvm alpha# 检查vite版本# 如果版本过高可能导致问题,可以降级到稳定版本

 类型错误

对于VS Code中UniApp内置组件报错的问题:

  1. 确保安装了正确的类型声明文件

  2. 检查tsconfig.json配置

  3. 必要时添加类型断言

3. 依赖冲突

当出现ERESOLVE could not resolve错误时:

  1. 检查package.json中的版本要求

  2. 尝试删除node_modulespackage-lock.json后重新安装

  3. 使用npm install --legacy-peer-deps安装

4. 样式问题

UniApp中页面的父元素uni-page-body默认不具有height: 100%,可以在App.vue中全局设置:

page {  height: 100%;}

注意在微信小程序中使用page选择器会警告,建议仅在App.vue中设置

六、高效开发技巧

  1. 快速创建页面‌:

    • 使用uni-create-view插件右键菜单快速生成页面模板

    • 自动注册到pages.json

  2. 条件编译‌:

// #ifdef MP-WEIXINconsole.log('这是微信小程序平台');// #endif// #ifdef H5console.log('这是H5平台');// #endif
  1. 代码片段‌:

    • 利用VS Code的代码片段功能创建常用模板

    • 可以基于不同平台设置不同的代码片段

  2. 调试技巧‌:

    • 使用debugger语句在VS Code中设置断点

    • 结合浏览器开发者工具调试H5端

    • 使用微信开发者工具的远程调试功能3245

通过以上配置和技巧,您可以在VS Code中获得与HBuilderX相当甚至更好的UniApp开发体验,同时还能利用VS Code强大的扩展生态和自定义能力。


标签: 分享IT知识

相关文章

炎热的夏天

夏天是一个充满活力和热情的季节,炎热的的气息让人感到无力和疲惫。但是,这个季节也有着许多美好的回忆和乐趣,让我们一起来看看夏天的美好与炎热吧。首先,夏天的天气非常炎热,太阳高照,蓝天白云,气温高达30...

双因素理论

双因素理论是美国心理学家弗雷德里克·赫兹伯格(Frederick·Herzberg)于20世纪50年代后期提出的,这一理论的研究重点是组织中的人与工作的关系问题。双因素理论包括保健因素和激励因素。保健...

收集需求

在一个阳光明媚的周末,一家软件开发公司决定为他们的产品添加新功能。产品经理决定召集团队成员进行一次需求收集会议,以便更好地了解用户需求并为未来的开发做好准备。会议当天,团队成员聚集在会议室,桌上放着一...

暴风雨

暴风雨来临之前,天空中弥漫着一股压抑的气息。乌云密布,仿佛覆盖着一片灰暗的帷幕,将整个天地都笼罩在一片阴沉的氛围中。狂风大作,吹拂着路上的尘土和枝叶,让人感到一阵阵的凉意。突然,一声炸雷打破了寂静,紧...

中秋

月光如水,映照着中国大地。这是一个收获的季节,也是一个团圆的时刻。在秋天的长夜里,一轮明月在苍穹之中绽放出光芒,那是中秋之夜的明月,是华夏民族心中的瑰宝。中秋,又称月圆之夜,起源于古代农耕社会对月亮的...

国庆节快乐

在这个特殊的日子里,让我们共同庆祝中华人民共和国的生日。红旗飘扬在空中,礼炮声回荡在城市中,举国欢庆。我们爱我们的国家,因为它是我们温暖的家园,我们成长的摇篮。国庆节是我国的法定节假日,这是一个金色的...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。