typescript編寫微信小程序創(chuàng)建項(xiàng)目的方法
創(chuàng)建項(xiàng)目
在微信開發(fā)者工具創(chuàng)建項(xiàng)目,在語言中選擇 TypeScript
改造項(xiàng)目
編輯 package.json 文件,修改 miniprogram-api-typings 和 typescript 版本
{
"name": "miniprogram-ts-quickstart",
"version": "1.0.0",
"description": "",
"scripts": {
"compile": "./node_modules/typescript/bin/tsc",
"tsc": "node ./node_modules/typescript/lib/tsc.js"
},
"keywords": [],
"author": "",
"license": "",
"dependencies": {
},
"devDependencies": {
"typescript": "^4.1.3",
"miniprogram-api-typings": "^2.12.1-beta.0"
}
}
編輯 tsconfig.json 文件, 修改 lib 為 ["esnext"],支持最新語法, 刪除 typeRoots 配置項(xiàng)
{
"compilerOptions": {
"strictNullChecks": true,
"noImplicitAny": true,
"module": "CommonJS",
"target": "ES5",
"allowJs": false,
"experimentalDecorators": true,
"noImplicitThis": true,
"noImplicitReturns": true,
"alwaysStrict": true,
"inlineSourceMap": true,
"inlineSources": true,
"noFallthroughCasesInSwitch": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"strict": true,
"removeComments": true,
"pretty": true,
"strictPropertyInitialization": true,
"lib": ["esnext"]
},
"include": [
"./**/*.ts"
],
"exclude": [
"node_modules"
]
}
執(zhí)行 npm install
刪除項(xiàng)目下 typings 目錄, 的 復(fù)制 node_modules 下 miniprogram-api-typings 的 types 文件到項(xiàng)目根目錄
在 miniprogram 下創(chuàng)建 interface 目錄并創(chuàng)建 IAppOption.ts 文件,最后編輯 app.ts 文件,
// IAppOption.ts
export default interface IAppOption {
globalData: {
text: string;
}
}
// app.ts
import IAppOption from "./interface/IAppOption";
App<IAppOption>({
globalData: {
text: "Hello,Word!"
},
onLaunch() {
}
})
在 詳細(xì) -> 本地設(shè)置 -> 調(diào)試基礎(chǔ)庫,直接選擇最新的
使用 Promise 化的微信小程序api
以前可以通過 miniprogram-api-promise 這個(gè)包來完成 api Promise 化,或者自己寫
現(xiàn)在可以直接使用,比如 wx.getStorageInfo ,在 lib.wx.api.d.ts 中返回了 PromisifySuccessResult
PromisifySuccessResult 返回了Promise
getStorageInfo<TOption extends GetStorageInfoOption>(
option?: TOption
): PromisifySuccessResult<TOption, GetStorageInfoOption>
type PromisifySuccessResult<
P,
T extends AsyncMethodOptionLike
> = P extends { success: any }
? void
: P extends { fail: any }
? void
: P extends { complete: any }
? void
: Promise<Parameters<Exclude<T['success'], undefined>>[0]>
兩種用法,大多數(shù)api都支持
wx.getStorageInfo({
success: () => {
console.log('成功執(zhí)行')
},
fail: () => {
console.log('失敗執(zhí)行')
},
complete: () => {
console.log('接口調(diào)用結(jié)束')
}
})
wx.getStorageInfo().then(() => {
console.log('成功執(zhí)行')
}).catch(() => {
console.log('失敗執(zhí)行')
}).finally(() => {
console.log('接口調(diào)用結(jié)束')
})
源碼: https://github.com/NikolasSky/ts-miniprogram/tree/master/ts-miniprogram-base
到此這篇關(guān)于typescript編寫微信小程序創(chuàng)建項(xiàng)目的方法的文章就介紹到這了,更多相關(guān)typescript開發(fā)微信小程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 前端深入理解Typescript泛型概念
- 詳解JavaScript私有類字段和TypeScript私有修飾符
- JS裝飾者模式和TypeScript裝飾器
- 詳解TypeScript中的類型保護(hù)
- TypeScript在React項(xiàng)目中的使用實(shí)踐總結(jié)
- Vue3+TypeScript封裝axios并進(jìn)行請(qǐng)求調(diào)用的實(shí)現(xiàn)
- TypeScript 安裝使用及基本數(shù)據(jù)類型
- 詳解Typescript里的This的使用方法
- TypeScript泛型參數(shù)默認(rèn)類型和新的strict編譯選項(xiàng)
相關(guān)文章
前端錯(cuò)誤日志上報(bào)的超詳細(xì)解決方案
這篇文章主要介紹了如何使用Node.js搭建一個(gè)簡(jiǎn)單的錯(cuò)誤監(jiān)控平臺(tái),用于收集和上報(bào)Vue.js項(xiàng)目的運(yùn)行錯(cuò)誤,文中通過代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-11-11
Javascript中Null和undefined的簡(jiǎn)單理解
在JavaScript中存在這樣兩種原始類型:Null與Undefined,這兩種類型常常會(huì)使JavaScript的開發(fā)人員產(chǎn)生疑惑,在什么時(shí)候是Null,什么時(shí)候又是Undefined,下面這篇文章主要給大家介紹了關(guān)于Javascript中Null和undefined的相關(guān)資料,需要的朋友可以參考下2022-04-04
JS實(shí)現(xiàn)select選中option觸發(fā)事件操作示例
這篇文章主要介紹了JS實(shí)現(xiàn)select選中option觸發(fā)事件操作,結(jié)合實(shí)例形式總結(jié)分析了javascript針對(duì)select下拉選中option項(xiàng)觸發(fā)事件相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
JS實(shí)現(xiàn)滾動(dòng)觸底的思路與代碼(附PC端滾動(dòng)分頁加載數(shù)據(jù))
Javascript實(shí)現(xiàn)當(dāng)頁面滾動(dòng)到底部時(shí)觸發(fā)加載事件,可以通過監(jiān)聽窗口的滾動(dòng)事件,同時(shí)判斷當(dāng)前滾動(dòng)條的位置和文檔總高度來實(shí)現(xiàn)該功能,這篇文章主要給大家介紹了關(guān)于JS實(shí)現(xiàn)滾動(dòng)觸底的思路與代碼,文中還附PC端滾動(dòng)分頁加載數(shù)據(jù),需要的朋友可以參考下2024-06-06
ionic 上拉菜單(ActionSheet)實(shí)例代碼
ionic js 上拉菜單(ActionSheet)通過往上彈出的框,來讓用戶選擇選項(xiàng);點(diǎn)擊取消按鈕或者點(diǎn)擊空白的地方來讓它消失。本文給大家分享實(shí)現(xiàn)代碼,感興趣的朋友一起看看吧2016-06-06

