当前位置: 首页 > news >正文

优化网站视频微信小程序购物商城

优化网站视频,微信小程序购物商城,大连本地网站推广,阿里云备案网站备案域名创建项目 使用Vue3/Vite版,创建以 typescript 开发的工程 下载仓库 DCloud/uni-preset-vue - Gitee.com node版本:v16.18.0 npm版本: v8.19.2 依赖下载 解压之后,在vscode打开 通过终端运行 npm 命令下载依赖:npm ins…

创建项目

使用Vue3/Vite版,创建以 typescript 开发的工程

下载仓库 · DCloud/uni-preset-vue - Gitee.com

node版本:v16.18.0

npm版本: v8.19.2

依赖下载

解压之后,在vscode打开

 

通过终端运行 npm 命令下载依赖:npm install

下载完成之后,会多出来一个node_modules文件夹

tsconfig.json文件

如遇到tsconfig.json有报错提示:

Option 'importsNotUsedAsValues' is deprecated and will stop functioning in TypeScript 5.5. Specify compilerOption '"ignoreDeprecations": "5.0"' to silence this error.Use 'verbatimModuleSyntax' instead.ts

译文:警告消息与 TypeScript 编译器选项的弃用有关importsNotUsedAsValues,并建议改用该verbatimModuleSyntax选项。要在 TypeScript 5.5 之前使错误消息静音,您可以添加ignoreDeprecations": "5.0"到编译器选项;

//在tsconfig.json文件中"compilerOptions"配置项内添加"ignoreDeprecations": "5.0""compilerOptions": {"ignoreDeprecations": "5.0"},

基本配置

打开 vite.config.ts 配置一下 alias

// vits.config.ts
import { defineConfig } from "vite"
import uni from "@dcloudio/vite-plugin-uni"
import { resolve } from "path"export default defineConfig({resolve: {alias: {"@": resolve(__dirname, "src"),},extensions: ['.mjs', '.js', '.jsx', '.json', '.vue'],},plugins: [uni(),],
})

 alias 配置中的 path 和 __dirname 会报红,在终端安装一下 @types/node即可

npm i -D @types/node

安装相关类型声明文件(看个人需要)

微信小程序 API 的 TypeScript 类型定义文件

GitHub - wechat-miniprogram/api-typings: Type definitions for APIs of Wechat Mini Program in TypeScript

npm i -D @types/wechat-miniprogram

uni-helper相关类型文件

uni-app-types | Uni Helper (uni-helper.js.org)

npm i -D @uni-helper/uni-app-types //提供 uni-app 组件类型
npm i -D @uni-helper/uni-cloud-types //提供 uni-cloud 组件类型
npm i -D @uni-helper/uni-ui-types //提供 uni-ui 组件类型

 配置tsconfig.json

{"extends": "@vue/tsconfig/tsconfig.json","compilerOptions": {"ignoreDeprecations": "5.0","sourceMap": true,"baseUrl": ".","paths": {"@/*": ["./src/*"]},"lib": ["esnext", "dom"],"types": [// "miniprogram-api-typings", // 原生微信小程序类型"@dcloudio/types", // uni-app API 类型"@uni-helper/uni-app-types", // uni-app 组件类型]},"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}

安装unplugin-auto-import自动导入插件

GitHub - unplugin/unplugin-auto-import: Auto import APIs on-demand for Vite, Webpack and Rollup

npm i -D unplugin-auto-import

在不使用自动导入的情况下,我们每使用到一个vue或者uniapp的方法的时候,就需要import一下。 

// 不使用自动导入的用法
<script lang="ts" setup>
import { ref } form 'vue'
import { onLoad } from '@dcloudio/uni-app'const name = ref('')onLoad(() => {console.log(name.value)
})
</script>// 使用自动导入的用法
<script lang="ts" setup>
const name = ref('')onLoad(() => {console.log(name.value)
})
</script>

项目根目录创建 typings 目录,然后配置 vite.config.ts

import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
// 加上下面这一行
import AutoImport from 'unplugin-auto-import/vite'// https://vitejs.dev/config/
import { resolve } from "path"
// https://vitejs.dev/config/
export default defineConfig({base: "/couponPromotion",plugins: [uni(),// ---- 配置自动引入 ----AutoImport({include: [/\.[tj]sx?$/, // .ts, .tsx, .js, .jsx/\.vue$/,/\.vue\?vue/, // .vue/\.md$/, // .md],imports: ['vue', 'uni-app'],dts: 'typings/auto-imports.d.ts',})],
})

在 tsconfig.json 中添加如下配置

{"include": ["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue",// 加上下面两项"typings/**/*.ts","typings/**/*.d.ts"],
}

当我们运行项目后,在 typings 目录中自动生成了一个 auto-imports.d.ts 文件

 

如果打开该文件之后发现里面的 createApp 报红,在 tsconfig.json 文件compilerOptions 选项中加入 "skipLibCheck": true

  "compilerOptions": {"skipLibCheck": true,},

建议关闭项目,然后重新打开项目,不然 .vue文件中可能还是会标红

 

安装uview-plus

注意: 此安装方式必须要按照npm方式安装的配置中的说明配置了才可用,且项目名称不能有中文字符。

// 安装
npm install uview-plus
npm install dayjs
npm install clipboard

 uview-plus依赖SCSS,所以必须要安装此插件,否则无法正常运行

// 安装sass
npm i sass -D// 安装sass-loader,注意需要版本10,否则可能会导致vue与sass的兼容问题而报错
npm i sass-loader@10 -D

引入uview-plus主JS库

在项目src目录中的main.js中,引入并使用uview-plus的JS库

注意:这两行要放在const app = createSSRApp(App)之后。

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

 引入uview-plus的全局SCSS主题文件

 在项目根目录的uni.scss中引入此文件

/* uni.scss */
@import 'uview-plus/theme.scss';

 引入uview-plus基础样式

 App.vue中首行的位置引入,注意给style标签加入lang="scss"属性

// App.vue
<style lang="scss">/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */@import "uview-plus/index.scss";
</style>

配置easycom组件模式

需要在项目src目录的pages.json中进行 

温馨提示:

uni-app为了调试性能的原因,修改easycom规则不会实时生效,配置完后,您需要重启HX或者重新编译项目才能正常使用uview-plus的功能。

请确保您的pages.json中只有一个easycom字段,否则请自行合并多个引入规则。

// pages.json
{"easycom": {// 注意一定要放在custom里,否则无效,https://ask.dcloud.net.cn/question/131175"custom": {"^u--(.*)": "uview-plus/components/u-$1/u-$1.vue","^up-(.*)": "uview-plus/components/u-$1/u-$1.vue","^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue"}},// 此为本身已有的内容"pages": [// ......]
}

修改env.d.ts文件

注意:

配置完后,可以发现在mian.ts中引入uview-plus时会提示ts报错:无法找到模块“uview-plus”的声明文件

/// <reference types="vite/client" />declare module '*.vue' {import { DefineComponent } from 'vue'// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-typesconst component: DefineComponent<{}, {}, any>export default component
}declare module "uview-plus";

安装uni-ui组件库

uni-app官网 (dcloud.net.cn)

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

配置自动导入组件

// pages.json
{"easycom": {//是否开启自动导入"autoscan": true,"custom": {"^u--(.*)": "uview-plus/components/u-$1/u-$1.vue","^up-(.*)": "uview-plus/components/u-$1/u-$1.vue","^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue","^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" // uni-ui 规则}},"pages": [],
}

安装类型声明文件

npm i -D @uni-helper/uni-ui-types

配置类型声明文件

// tsconfig.json
{"compilerOptions": {"types": ["@dcloudio/types","@uni-helper/uni-app-types","@uni-helper/uni-ui-types" // uni-ui组件类型]}
}
http://www.yayakq.cn/news/567111/

相关文章:

  • 网站开发范例文档seo短视频发布
  • 做网站免费的域名邹城网站建设公司
  • 网站建设要什么软件有哪些手机端网站html好看的模板
  • 企业网站设计调查问卷室内设计品牌
  • 南京企业建站系统建站之星官网登陆
  • 东莞勒流网站制作wordpress搜索安全
  • asp做网站的优势是什么网站的安全建设或者解决方案
  • 域名备案需要网站搭建完成吗平凉公司网站建设
  • 免费优化网站的软件网站导航栏图标
  • 9e做网站东莞哪家建网站公司好
  • 广州产品网站设计网站域名打不开
  • 网站开发与调试实验报告打开连接 wordpress
  • 织梦网站去除技术支持模板网站开发
  • 台州手机网站制作wordpress如何设置用户浏览权限
  • 做招聘网站价格wordpress安装与配置
  • 黑龙江做网站的公司有哪些wordpress网站地图插件
  • 制作微信的网站有哪些网站如何做淘宝支付
  • 如何区分官方网站和空壳网站沈阳市浑南区城乡建设局网站
  • 海南省建设考试网站首页深圳网络推广课程
  • 长安做英文网站首钢建设公司网站
  • 域外网站网站加载不出来是什么原因
  • 岐山网站建设产品营销策略有哪些
  • 做网站要考虑哪些因素沈阳网站建设方案服务
  • 武威市建设局网站抖音小程序源码网
  • 公司两学一做网站什么是网站的备案号
  • 创立个网站专业卖手机公司装修怎么做账
  • 简单大气的成品网站广东省农业农村厅陈东
  • 网站开发实用技术电子版进入公众号是什么意思
  • 卖鞋子网站建设策划书搜狗快速收录方法
  • 美丽定制 网站模板河南企业网络推广方法