uniapp 使用命令行创建vue3 ts 项目

news2024/11/25 14:35:59

命令行创建 uni-app 项目:

vue3 + ts 版

	npx degit dcloudio/uni-preset-vue#vite-ts 项目名称

注意 Vue3/Vite版要求 node 版本^14.18.0 || >=16.0.0
如果下载失败,请去gitee下载

https://gitee.com/dcloud/uni-preset-vue/repository/archive/vite-ts.zip

安装依赖

安装依赖 pnpm install

还需要安装sass,不然会报错

  • npm install sass --save-dev
  • npm i sass -D 或 yarn add sass -D
  • 安装 sass-loader pm i sass-loader@10.1.1 -D 或 yarn add sass-loader@10.1.1 -D
  • 如果 node 版本小于 16 ,sass-loader 请使用低于 @11.0.0 的版本,sass-loader@11.0.0 不支持 vue@2.6.12 如果 node 版本大于 16 , sass-loader 建议使用 v8.x 版本
    vite配置 根目录新建文件vite.config.ts
import { defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
import path from "path";

// https://vitejs.dev/config/
export default defineConfig({
	resolve: {
	    alias: {
	        "@": path.resolve(__dirname, "./src") // map '@' to './src' 
	    },
	},
  plugins: [uni()],
  css: {
          preprocessorOptions: {
              scss: {
                  // prependData: '@import "./static/css/index.scss";',
  				additionalData: '@import "../src/static/css/index.scss";',
              },
  			// stylus: {
  			//     additionalData: '@import "./static/css/index.scss";',
  			// },
          },
      },
});

用 VS Code 开发 uni-app 项目

安装 Vue3 + TS 插件​
注意事项

没开发过 Vue3 + TS 项目的小伙伴注意,需要先安装 Vue3 和 TS 的插件,并完成以下配置 👇

  • 安装 Vue Language Features (Volar) :Vue3 语法提示插件

  • 安装 TypeScript Vue Plugin (Volar) :Vue3 的 TS 插件

  • 工作区禁用 Vetur 插件(Vue2 插件和 Vue3 插件冲突)

  • 工作区禁用 @builtin typescript 插件(禁用后自动开启 Vue3 的 TS 托管模式)

  • 安装 uni-app 插件

  • uni-create-view :快速创建 uni-app 页面

  • uni-helper uni-app :代码提示

  • uniapp 小程序扩展 :鼠标悬停查文档

  • TS 类型校验

    • 安装类型声明文件 pnpm i -D @types/wechat-miniprogram @uni-helper/uni-app-types
    • 配置 tsconfig.json
      设置文件关联,把 manifest.json 和 pages.json 设置为 jsonc
  • 在VS Code中找到设置

  • 在设置中搜索文件关联

  • 添加这两个文件名,值为 jsonc (jsonc表示json文件可以写注释)
    在这里插入图片描述
    –“ignoreDeprecations”: “5.0”, 这个必须要加在tsconfig.json,不然会提示报错,当然你不加也不影响运行

{
  "extends": "@vue/tsconfig/tsconfig.json",
  "compilerOptions": {
 	 "ignoreDeprecations": "5.0",
    "sourceMap": true,
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]
    },
    "lib": ["esnext", "dom"],
    "types": [
      "@dcloudio/types",
+      "@types/wechat-miniprogram",
+      "@uni-helper/uni-app-types"
    ]
  },
+  "vueCompilerOptions": {
+    "nativeTags": ["block", "component", "template", "slot"]
+  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}

注意:原配置experimentalRuntimeMode现调整为 nativeTags。

加入其他UI插件 如uni ui

npm i @dcloudio/uni-ui   或   yarn add @dcloudio/uni-ui


配置easycom

使用 npm 安装好 uni-ui 之后,需要配置 easycom 规则,让 npm 安装的组件支持 easycom
打开项目根目录下的 pages.json 并添加 easycom 节点:
"easycom": {
		"autoscan": true,
		"custom": {
			// uni-ui 规则如下配置
			"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"
		}
	},

uniapp 打包配置

如果是打包H5网页,并且项目不是直接放在根目录比如这种 www.xxxx.com/h5/index.hmlt这样的地址的话需要做这个配置

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/381e8d186e95420c8e04ec3e1b9a4adb.png)

app.vue中引入公共CSS 或者字体文件的时候,小程序端上面没办法使用

在这里插入图片描述

只能main.ts中引入公共的字体CSS或者公共CSS,这样编译后就能使用了


		import '@/static/iconfont/iconfont.css'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1554621.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2020年30米二级分类北京市土地利用数据

引言 北京市省土地利用数据产品是指基于Landsat TM/ETM/OLI遥感影像,采用遥感信息提取方法,并结合野外实测,以及参照国内外现有的土地利用/土地覆盖分类体系,经过波段选择及融合,图像几何校正及配准并对图像进行增强处…

上采样技术在语义分割中的应用

目录 概要 一、概述 二、实现方法 1.转置卷积 2.反池化 3.双线性插值法 三、在经典网络中的的应用 1.U-Net 2.FCN 总结 概要 上采样是用于深度学习中提高语义分割精度的技术,可以实现图像放大和像素级别标注 一、概述 神经网络的基本结构为:…

年轻力壮,副业当道:推荐6个热门小副业

#下班后的年轻人第二事业风潮# 热门话题你加入了吗? 如今,年轻人早已摒弃“懒散”的标签,全身心投入到“事业拼搏”之中。然而,自主创业的高投入与风险,让许多年轻人望而却步。于是,副业成为了他们触手可及…

Vue3基础笔记(2)事件

一.事件处理 1.内联事件处理器 <button v-on:click"count">count1</button> 直接将事件以表达式的方式书写~ 每次单击可以完成自增1的操作~ 2.方法事件处理器 <button click"addcount(啦啦啦~)">count2</button> 如上&…

4、Cocos Creator 动画系统

目录 1、Clip 参数 2、动画编辑器 3、基本操作 更改时间轴缩放比例 移动显示区域 更改当前选中的时间轴节点 播放 / 暂停动画 修改 clip 属性 快捷键 4、模拟实验 5、动画事件 6、注意事项 参考 Animation 组件是节点上的一个组件。Clip 动画剪辑就是一份动画的声…

【CTA动画】制作全记录 笔记

3Dxchange的使用 让图片跳舞 导入&#xff1a;I:\安装包\#动画开发\test\跳舞 model(includeTPose).fbx 转成非标准角色 手动点击骨骼&#xff0c;然后点击人物骨骼&#xff0c;选择00_t-pose 绿灯了就可以转换了&#xff0c;记得启用。 上面的自定义可以先选择3DS 转换后…

Stream2Graph论文翻译

Stream2Graph: Dynamic Knowledge Graph for Online Learning Applied in Large-scale Network Abstract 知识图谱(KG)是用于存储某个领域(医疗保健、金融、电子商务、ITOps等)中的知识的有价值的信息来源。大多数工业KG本质上是动态的&#xff0c;因为它们定期更新流数据(客…

如何准备科学海报

科学会议上的海报展示可以为早期职业研究人员提供宝贵的机会来练习他们的沟通技巧&#xff0c;获得有关他们研究的反馈&#xff0c;并扩大他们的网络。“通过与其他研究人员一对一地讨论我的工作&#xff0c;[我发现]我可以确定哪些工作做得好&#xff0c;哪些需要改进&#xf…

LQR的横向控制与算法仿真实现

文章目录 1. 引言2. 车辆运动学线性离散模型3. LQR求解4. 算法和仿真实现 1. 引言 在现代控制理论的领域中&#xff0c;线性二次型调节器&#xff08;Linear Quadratic Regulator&#xff0c;简称LQR&#xff09;被广泛认可为一种高效的优化控制方法。LQR的核心优势在于其能力…

python练习五

1. 给定一个包含n1个整数的数组nums&#xff0c;其数字在1到n之间&#xff08;包含1和n&#xff09;&#xff0c;可知至少存在一个重复的整数&#xff0c;假设只有一个重复的整数&#xff0c;请找出这个重复的数 def find_difnumber(ls):for index in range(0, len(ls)):for n…

Linux应用实战之网络服务器(四)JavaScript介绍

0、前言 准备做一个Linux网络服务器应用实战&#xff0c;通过网页和运行在Linux下的服务器程序通信&#xff0c;这是第四篇&#xff0c;介绍一下JS&#xff0c;让HTML网页实现与服务器通信。 1、JS常用语法 JavaScript是一种脚本语言&#xff0c;主要用于前端开发&#xff0…

纯前端搭建ChatGpt应用(全部代码在这了)

话不多说直接放代码&#xff1a; &#xff08;需要下载并导入axios包&#xff0c;懒省事的人也可以直接使用uni.request等请求方法&#xff09; 目录 1、html代码&#xff1a; &#xff08;本例使用的uniapp编写&#xff09; 2、js代码&#xff1a;&#xff08;API-KEY需要…

基于ssm电子竞技管理平台的设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本电子竞技管理平台就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…

尾盘拉升超8个点,速腾聚创交出来一份怎样的超预期答卷?

“如果说2024年是智驾加速渗透&#xff0c;L3级智能驾驶陆续落地的一年&#xff0c;那么激光雷达将是这股潮流中不可缺失的那一份。” 2024年开年&#xff0c;速腾聚创以相当“闪亮的姿态”成为“港股2024年首只IPO上市成功”的企业。 然而&#xff0c;其上市之后的市场表现却…

每日一练 两数相加问题(leetcode)

原题如下&#xff1a; 这道题目是一道链表题&#xff0c;我们对于这种链表类&#xff0c;很显然我们最后输出的是初始节点&#xff0c;所以我们要保留我们的初始头指针&#xff0c;那么我们的第一步一定是把头指针保留一份&#xff0c;然后再让头指针往后进行操作。那么我们进行…

EXCEL通过VBA字典快速分类求和

EXCEL通过VBA字典快速分类求和 汇总截图 Option ExplicitOption Explicit Sub answer3() Dim wb As Workbook Dim sht As Worksheet Set wb ThisWorkbook Set sht wb.Worksheets(2) Dim ss1 As Integer Dim ss2 As Integer Dim i As Integer Dim j As Integer j 1Dim aa()…

基于Arduino IDE 野火ESP8266模块 文件系统LittleFS 的开发

一、文件系统LittleFS的介绍 LittleFS是一个为微控制器设计的轻量级、可靠且高性能的文件系统。它专为嵌入式设备打造&#xff0c;拥有占用空间小、对硬件要求低的特点&#xff0c;同时保证在断电情况下数据的完整性和稳定性。 1.设计与特点 LittleFS的设计旨在提供嵌入式系统所…

AcWing刷题-空调

空调 差分&#xff1a; N int(input()) p list(map(int, input().split())) t list(map(int, input().split())) d,s[0]*100010,[0]*100010 for i in range(N):d[i] p[i]-t[i]for i in range(N):s[i] d[i]s[i1] - d[i] ans 0 for i in range(N1):if s[i]>0:ans s[i]…

开源,微信小程序-超级计算器T3000 简介

笔者于四年前自学微信小程序开发&#xff0c;这个超级计算器T3000就是当时的练习作品。超级计算器T3000的功能有很多&#xff0c;其中的核心技术是矩阵计算&#xff0c;使用的工具库是math.js&#xff0c;其次是复杂运算和分式运算。关于math.js的使用&#xff0c;可以参考另一…

【SpringBoot】【经典面试题】每天10个Java面试题-面试大厂起飞系列-day02

嗨&#xff0c;各位小伙伴&#xff01; &#x1f431;‍&#x1f4bb; 我是【行走的程序喵】&#xff01;一个兼具Web前端和Java后端技能的技术宅&#xff01; &#x1f31f; 我的博客上分享最新的Web前端和Java后端技术文章&#xff0c;从基础入门到进阶应用&#xff0c;应有…