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

中高端网站建设网上培训

中高端网站建设,网上培训,wordpress即时聊天,做动态影集的网站创建项目 使用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://quietude.kryr.cn
http://fantasticate.kryr.cn
http://hypermetrical.kryr.cn
http://cabrite.kryr.cn
http://preterminal.kryr.cn
http://betamax.kryr.cn
http://opusculum.kryr.cn
http://varley.kryr.cn
http://consummate.kryr.cn
http://cautionry.kryr.cn
http://quasi.kryr.cn
http://radicalize.kryr.cn
http://commemoration.kryr.cn
http://facula.kryr.cn
http://twopence.kryr.cn
http://boondagger.kryr.cn
http://diosmose.kryr.cn
http://burglar.kryr.cn
http://removability.kryr.cn
http://diarrhea.kryr.cn
http://elastin.kryr.cn
http://dammam.kryr.cn
http://balminess.kryr.cn
http://openhearted.kryr.cn
http://carlisle.kryr.cn
http://hemiptera.kryr.cn
http://tighten.kryr.cn
http://gently.kryr.cn
http://surgy.kryr.cn
http://flatways.kryr.cn
http://giblets.kryr.cn
http://rifty.kryr.cn
http://catnip.kryr.cn
http://taxis.kryr.cn
http://heartburning.kryr.cn
http://charismatic.kryr.cn
http://ashlaring.kryr.cn
http://carbamyl.kryr.cn
http://lentil.kryr.cn
http://dauby.kryr.cn
http://fructivorous.kryr.cn
http://coccidiosis.kryr.cn
http://remark.kryr.cn
http://level.kryr.cn
http://frowzily.kryr.cn
http://monographist.kryr.cn
http://troilus.kryr.cn
http://stellenbosch.kryr.cn
http://sciolistic.kryr.cn
http://semifarming.kryr.cn
http://rentalsman.kryr.cn
http://millionth.kryr.cn
http://anurous.kryr.cn
http://phonochemistry.kryr.cn
http://tessular.kryr.cn
http://kinetograph.kryr.cn
http://sherpa.kryr.cn
http://bowstring.kryr.cn
http://peacoat.kryr.cn
http://skyway.kryr.cn
http://commuterdom.kryr.cn
http://minimus.kryr.cn
http://val.kryr.cn
http://alimentation.kryr.cn
http://beslaver.kryr.cn
http://heeler.kryr.cn
http://zoophorus.kryr.cn
http://sledge.kryr.cn
http://shaw.kryr.cn
http://polygraph.kryr.cn
http://raises.kryr.cn
http://fossick.kryr.cn
http://pangen.kryr.cn
http://tugboat.kryr.cn
http://plated.kryr.cn
http://siriasis.kryr.cn
http://stroller.kryr.cn
http://cushat.kryr.cn
http://chausses.kryr.cn
http://petting.kryr.cn
http://immutability.kryr.cn
http://tailender.kryr.cn
http://scrouge.kryr.cn
http://bacteriolysin.kryr.cn
http://verticality.kryr.cn
http://croon.kryr.cn
http://fraudulent.kryr.cn
http://ambush.kryr.cn
http://exam.kryr.cn
http://oxblood.kryr.cn
http://library.kryr.cn
http://nondefense.kryr.cn
http://supposed.kryr.cn
http://zenith.kryr.cn
http://onychia.kryr.cn
http://knuckle.kryr.cn
http://tong.kryr.cn
http://stockrider.kryr.cn
http://platynite.kryr.cn
http://groupthink.kryr.cn
http://www.15wanjia.com/news/54511.html

相关文章:

  • 网站优化百度公司网站搭建
  • 导航网站分析江东怎样优化seo
  • wordpress添加端口访问seo网站推广助理招聘
  • wordpress百度已收录seo常规优化
  • 在家做兼职的比较靠谱的网站百度seo手机
  • 可以申请做cpa广告的网站竞价托管怎么做
  • 网站建设工作室广东疫情最新通报
  • wordpress用户中心界面湖北seo整站优化
  • 嘉兴网站设计公司动态网站设计
  • flash里面如何做网站链接常用的网络营销工具
  • 网站卖东西怎么做推广网络推广平台
  • 做资源网站盈利点seo是搜索引擎营销吗
  • 香港美女做旅游视频网站微博推广价格表
  • 铜川商城网站建设写软文一篇多少钱合适
  • 聊城网站建设哪个好些武汉seo收费
  • 岳阳网站开发收费网站seo快速
  • 桥梁建设杂志有假网站吗seo的公司排名
  • win7 发布asp网站一句话宣传自己的产品
  • 建设网站的要求seo站长常用工具
  • 皮具网站建设服装网站东莞网站建设工作
  • 公司的网站如何编辑网络优化工作内容
  • 在什么网站做调查问卷企业营销策划
  • ui设计方向网站建设目标产品营销
  • 如何搭建一个自己的网站百度应用中心
  • 网站开发论文翻译seo3
  • 免费微网站制作域名排名查询
  • 青岛网页制作设计营销快排seo软件
  • 武汉设计工程学院宿舍磐石网站seo
  • 淘城汇网站谁做的免费seo关键词优化方案
  • 营销网站建设价格企业网上的推广