使用vscode开发uniapp, 摆脱hbuilder

使用vscode开发uniapp, 摆脱hbuilder

创建项目

  • 创建uniapp项目
bash 复制代码
vue create -p dcloudio/uni-preset-vue helloproject
  • 选择模版
    这里我选择默认模版
bash 复制代码
> 默认模板
  默认模板(TypeScript)
  Hello uni-app
  前后一体登录模板
  看图模板
  新闻/资讯类模板
  自定义模板
  • 启动项目
bash 复制代码
npm i
npm run serve

我这里启动项目报错,如下:

bash 复制代码
Syntax Error: Error: PostCSS plugin autoprefixer requires PostCSS 8.
Migration guide for end-users:
https://github.com/postcss/postcss/wiki/PostCSS-8-for-end-users

安装了依赖后,正常启动了

bash 复制代码
npm i postcss-loader autoprefixer@8.0.0
  • 安装vscode插件
  1. uni-create-view: 在 VSCode 右键点击文件夹可以快速创建页面与组件,创建页面时将自动添加 pages.json
  2. uni-helper:uni-app 代码提示
  3. uniapp小程序扩展:提供创建页面和组件功能,鼠标悬停到组件上的 API 提示功能

添加 ts 类型校验

  • 安装类型声明文件
bash 复制代码
npm i -D @types/wechat-miniprogram @uni-helper/uni-app-types
  • 配置 tsconfig.json
json 复制代码
{
  // 其他配置项
  ...,
  
  "compilerOptions": {
    "sourceMap": true,
    "paths": {
      "@/*": ["./src/*"]
    },
    "types": [
      "@dcloudio/types",
      "@types/wechat-miniprogram",
      "@uni-helper/uni-app-types"
    ]
  },
  "vueCompilerOptions": {
    "experimentalRuntimeMode": "runtime-uni-app",
    "nativeTags": [
      "block",
      "component",
      "template",
      "slot"
    ]
  },
  
  // 其他配置项
  ...
}
  • 重启VsCode

其他配置

  • 使用scss,建议使用以下版本
bash 复制代码
npm i -D sass-loader@7.3.1
npm i -D node-sass@4.14.1
  • json 注释问题
    • 打开vscode的设置,搜索文件关联
    • Files: Associations, 添加项,
    • 项: manifest.json, 值: jsonc
    • 项: pages.json, 值: jsonc

使用uni-ui组件库

  • 安装
bash 复制代码
npm i @dcloudio/uni-ui
  • 配置easycom
    打开项目根目录下的 pages.json 并添加 easycom 节点:
json 复制代码
// pages.json
{
	"easycom": {
		"autoscan": true,
		"custom": {
			// uni-ui 规则如下配置
			"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"
		}
	},

	// 其他内容
	pages:[
		// ...
	]
}
  • 配置uni-ui组件类型声明
bash 复制代码
npm i -D @uni-helper/uni-ui-types
  • 配置 tsconfig.json
    types中添加 @uni-helper/uni-ui-types@dcloudio/types
json 复制代码
{
  // 其他配置项
  ...,
  
  "compilerOptions": {
    "sourceMap": true,
    "paths": {
      "@/*": ["./src/*"]
    },
    "types": [
      "@dcloudio/types",
      "@types/wechat-miniprogram",
      "@uni-helper/uni-app-types",
      "@uni-helper/uni-ui-types"
    ]
  },
  "vueCompilerOptions": {
    "experimentalRuntimeMode": "runtime-uni-app",
    "nativeTags": [
      "block",
      "component",
      "template",
      "slot"
    ]
  },
  
  // 其他配置项
  ...
}
相关推荐
我待_JAVA_如初恋15 小时前
idea创建MavenJavaWeb项目以后,包结构缺java
java·ide·intellij-idea
游戏开发爱好者817 小时前
抓包工具有哪些?代理抓包、数据流抓包、拦截转发工具
android·ios·小程序·https·uni-app·iphone·webview
言之。18 小时前
Claude Code IDE 集成工作原理详解
ide·人工智能
悠悠子衿1213819 小时前
Claude+VSCODE配置git导致频繁弹出git bash 的CMO窗口解决方法
ide·git·vscode
大志哥12320 小时前
IntelliJ IDEA父子工程中导入公网远程备份项目到新目录
java·ide·intellij-idea
梁萌20 小时前
idea使用AI插件(CodeGeeX)
java·ide·ai·intellij-idea·插件·codegeex
郑州光合科技余经理21 小时前
技术解析:如何打造适应多国市场的海外跑腿平台
java·开发语言·javascript·mysql·spring cloud·uni-app·php
wqfhenanxc21 小时前
vscode/cursor 远程Linux基础命令
linux·ide·vscode
前端 贾公子21 小时前
uniapp之实现拖拽排序
uni-app
一室易安1 天前
uniapp vue3 小程序中 手写模仿京东淘宝加入购物车红点曲线飞入样式效果 简化版代码
小程序·uni-app