最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

typescript編寫微信小程序創(chuàng)建項目的方法

 更新時間:2021年01月29日 09:27:44   作者:無聊的人_nikolas  
這篇文章主要介紹了typescript編寫微信小程序創(chuàng)建項目的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

創(chuàng)建項目

在微信開發(fā)者工具創(chuàng)建項目,在語言中選擇 TypeScript

改造項目

編輯 package.json 文件,修改 miniprogram-api-typingstypescript 版本

{
 "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 配置項

{
 "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

刪除項目下 typings 目錄, 的 復(fù)制 node_modules 下 miniprogram-api-typings 的 types 文件到項目根目錄

在 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 這個包來完成 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)建項目的方法的文章就介紹到這了,更多相關(guān)typescript開發(fā)微信小程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 不使用ajax實現(xiàn)無刷新提交表單

    不使用ajax實現(xiàn)無刷新提交表單

    這篇文章主要介紹了不使用ajax實現(xiàn)無刷新提交表單的方法,需要的朋友可以參考下
    2014-12-12
  • 前端錯誤日志上報的超詳細(xì)解決方案

    前端錯誤日志上報的超詳細(xì)解決方案

    這篇文章主要介紹了如何使用Node.js搭建一個簡單的錯誤監(jiān)控平臺,用于收集和上報Vue.js項目的運行錯誤,文中通過代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • Javascript中Null和undefined的簡單理解

    Javascript中Null和undefined的簡單理解

    在JavaScript中存在這樣兩種原始類型:Null與Undefined,這兩種類型常常會使JavaScript的開發(fā)人員產(chǎn)生疑惑,在什么時候是Null,什么時候又是Undefined,下面這篇文章主要給大家介紹了關(guān)于Javascript中Null和undefined的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • 詳談JavaScript內(nèi)存泄漏

    詳談JavaScript內(nèi)存泄漏

    文章從什么是閉包、以及閉包所涉及的作用域鏈說起,講述了JavaScript垃圾回收機制、循環(huán)引用、循環(huán)引用和閉包、IE中的內(nèi)存泄漏以及解決方法,是篇非常詳盡,非常不錯的文章,這里推薦給大家。
    2014-11-11
  • JS實現(xiàn)select選中option觸發(fā)事件操作示例

    JS實現(xiàn)select選中option觸發(fā)事件操作示例

    這篇文章主要介紹了JS實現(xiàn)select選中option觸發(fā)事件操作,結(jié)合實例形式總結(jié)分析了javascript針對select下拉選中option項觸發(fā)事件相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • 微信小程序定位當(dāng)前城市的方法

    微信小程序定位當(dāng)前城市的方法

    這篇文章主要為大家詳細(xì)介紹了微信小程序定位當(dāng)前城市的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • JS實現(xiàn)滾動觸底的思路與代碼(附PC端滾動分頁加載數(shù)據(jù))

    JS實現(xiàn)滾動觸底的思路與代碼(附PC端滾動分頁加載數(shù)據(jù))

    Javascript實現(xiàn)當(dāng)頁面滾動到底部時觸發(fā)加載事件,可以通過監(jiān)聽窗口的滾動事件,同時判斷當(dāng)前滾動條的位置和文檔總高度來實現(xiàn)該功能,這篇文章主要給大家介紹了關(guān)于JS實現(xiàn)滾動觸底的思路與代碼,文中還附PC端滾動分頁加載數(shù)據(jù),需要的朋友可以參考下
    2024-06-06
  • Javascript Memoizer淺析

    Javascript Memoizer淺析

    這篇文章主要介紹了Javascript Memoizer淺析,Memoizer貌似是一種緩存方法調(diào)用結(jié)果的功能,小編也沒有太懂,需要的朋友參考下吧
    2014-10-10
  • 基于JavaScript canvas繪制貝塞爾曲線

    基于JavaScript canvas繪制貝塞爾曲線

    這篇文章主要為大家詳細(xì)介紹了基于JavaScript canvas繪制貝塞爾曲線的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • ionic 上拉菜單(ActionSheet)實例代碼

    ionic 上拉菜單(ActionSheet)實例代碼

    ionic js 上拉菜單(ActionSheet)通過往上彈出的框,來讓用戶選擇選項;點擊取消按鈕或者點擊空白的地方來讓它消失。本文給大家分享實現(xiàn)代碼,感興趣的朋友一起看看吧
    2016-06-06

最新評論

濮阳市| 宁城县| 南阳市| 治县。| 专栏| 武夷山市| 灵丘县| 林甸县| 甘德县| 界首市| 平罗县| 东乌珠穆沁旗| 浦江县| 台山市| 巴塘县| 临西县| 抚顺市| 定南县| 阳信县| 韩城市| 格尔木市| 九龙县| 游戏| 吕梁市| 海城市| 红河县| 海口市| 万盛区| 葫芦岛市| 苗栗市| 和林格尔县| 连州市| 夏津县| 高州市| 永城市| 稻城县| 综艺| 河津市| 阿拉善左旗| 讷河市| 日喀则市|