Typescriptを使用してWeChatミニプログラムでプロジェクトを作成する方法

Typescriptを使用してWeChatミニプログラムでプロジェクトを作成する方法

プロジェクトを作成する

WeChat開発者ツールでプロジェクトを作成し、言語でTypeScriptを選択します。

改修プロジェクト

package.jsonファイルを編集し、 miniprogram-api-typingstypescriptバージョンを変更します。

{
 "名前": "ミニプログラム-TS-クイックスタート",
 "バージョン": "1.0.0",
 "説明": ""、
 「スクリプト」: {
 "コンパイル": "./node_modules/typescript/bin/tsc",
 "tsc": "ノード ./node_modules/typescript/lib/tsc.js"
 },
 「キーワード」: [],
 "著者": ""、
 "ライセンス": "",
 「依存関係」: {
 },
 「devDependencies」: {
 "typescript": "^4.1.3",
 "ミニプログラム API タイピング": "^2.12.1-beta.0"
 }
}

tsconfig.jsonファイルを編集し、libを["esnext"]に変更し、最新の構文をサポートし、typeRoots構成項目を削除します。

{
 "コンパイラオプション": {
 "strictNullChecks": 真、
 "noImplicitAny": true、
 "モジュール": "CommonJS",
 "ターゲット": "ES5",
 "allowJs": 偽、
 "実験的デコレータ": true,
 "noImplicitThis": true、
 "noImplicitReturns": true、
 "alwaysStrict": 真、
 "inlineSourceMap": true、
 "inlineSources": true、
 "noFallthroughCasesInSwitch": true、
 "noUnusedLocals": true、
 "未使用パラメータなし": true,
 "厳密": 真、
 「コメントを削除」: true、
 「きれい」:本当、
 "strictPropertyInitialization": true、
 "lib": ["esnext"]
 },
 "含む": [
 「./**/*.ts」
 ]、
 「除外」: [
 「ノードモジュール」
 ]
}

npm install実行する

プロジェクトの下にあるtypingsディレクトリを削除し、node_modulesの下にあるminiprogram-api-typingsのtypesファイルをプロジェクトのルートディレクトリにコピーします。

ミニプログラムの下にインターフェイス ディレクトリを作成し、IAppOption.ts ファイルを作成し、最後に app.ts ファイルを編集します。

// IAppOption.ts
デフォルトインターフェースIAppOptionをエクスポートします。
 グローバルデータ: {
  テキスト: 文字列;
 }
}
// アプリ.ts
「./interface/IAppOption」からIAppOptionをインポートします。

アプリ<IAppOption>({
 グローバルデータ: {
  テキスト: 「こんにちは、Word!」
 },
 起動() {
 }
})

詳細 -> ローカル設定 -> デバッグベースライブラリで、最新の

Promise WeChatミニプログラムAPIの使用

以前は、 miniprogram-api-promiseパッケージを使用してAPI Promise対応にしたり、独自のAPIを記述したりできました。

これで、 lib.wx.api.d.tsPromisifySuccessResult返す wx.getStorageInfo など、直接使用できるようになりました。

PromisifySuccessResult Promiseを返します

getStorageInfo<TOption は GetStorageInfoOption を拡張します>(
オプション?: TOption
): PromisifySuccessResult<TOption, GetStorageInfoOption>

PromisifySuccessResult<と入力します
P、
 TはAsyncMethodOptionLikeを拡張します
> = P は { 成功: 任意 } を拡張します
 ? 空所
 : P は { 失敗: 任意 } を拡張します
 ? 空所
 : P は { 完全: 任意 } を拡張します
 ? 空所
 : Promise<Parameters<Exclude<T['success'], undefined>>[0]>

2つの用途、ほとんどのAPIがサポート

 wx.getStorageInfo({
 成功: () => {
  console.log('実行に成功しました')
 },
 失敗: () => {
  console.log('実行に失敗しました')
 },
 完了: () => {
  console.log('インターフェース呼び出しが終了しました')
 }
})
wx.getStorageInfo().then(() => {
 console.log('実行に成功しました')
}).catch(() => {
 console.log('実行に失敗しました')
}).finally(() => {
 console.log('インターフェース呼び出しが終了しました')
})

ソースコード: https://github.com/NikolasSky/ts-miniprogram/tree/master/ts-miniprogram-base

これで、Typescript を使用して WeChat アプレット プロジェクトを作成する方法についての記事は終了です。Typescript を使用して WeChat アプレットを開発する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • フロントエンドにおけるTypescriptの一般的な概念の深い理解
  • JavaScript のプライベート クラス フィールドと TypeScript のプライベート修飾子の詳細な説明
  • JS デコレータ パターンと TypeScript デコレータ
  • TypeScript における型保護の詳細な説明
  • React プロジェクトにおける TypeScript の使用の概要
  • Vue3+TypeScriptはaxiosをカプセル化し、リクエスト呼び出しを実装します
  • TypeScriptのインストールと使用方法と基本的なデータ型
  • TypescriptでThisを使用する方法の詳細な説明
  • TypeScript ジェネリックパラメータのデフォルト型と新しい厳密なコンパイルオプション

<<:  MySQLがOracleのnvlと同様の機能を持つことができるかどうかについての簡単な議論

>>:  Ubuntu 16.04 で PostgreSQL の起動を設定する方法

推薦する

HTMLとは何ですか?

HTML 開発の歴史: HTML は英語で Hypertext Marked Language の...

Vuexはシンプルなショッピングカートを実装します

この記事では、参考までに、Vuex の具体的なコードを共有して、簡単なショッピングカートを実装します...

Linuxサーバ侵入緊急対応記録(概要)

最近、お客様から支援の依頼を受けました。管理されている通信コンピュータ ルームから、サーバーの 1 ...

JavaScript関数導入の詳しい説明

目次機能紹介関数関数の作成コンストラクタは関数を作成する関数宣言は関数を作成する関数式関数を作成する...

Tomcat のパフォーマンス最適化のための Apr モジュールの構築方法

序文Tomcat は、無数のチューニング オプションを備えた、広く使用されている Java Web ...

WeChatアプレットは画像コントロールを選択します

この記事の例では、WeChatアプレットで画像コントロールを選択するための具体的なコードを参考までに...

3次元画像配置効果を実現する純粋なCSSのサンプルコード

1. 要素の幅/高さ/パディング/マージンのパーセンテージ基準要素の幅/高さ/パディング/マージンの...

DockerToolBox ファイルマウント実装コード

docker を使用すると、ファイルをマウントできない場合があります。これは、仮想マシンの共有フォル...

MySQL でプロファイルを使用する方法のチュートリアル

プロフィールとは何ですか?特定の SQL のパフォーマンスを分析したい場合に使用できます。プロファイ...

HTML タグのネスト規則の紹介

XHTML タグには、div、ul、li、dl、dt、dd、h1~h6、p、a、addressa、s...

Xiaomi公式サイトの登録・ログイン機能を模倣するJavaScript

目次まずページレイアウトを構築する必要がありますJS関数1 JS関数2 JS関数3 JS関数4効果図...

Vue におけるキープアライブ マルチレベル ルーティング キャッシュの問題

目次1. 問題の説明2. 原因分析3. 解決策4. 処理1. 問題の説明調整センターでは、最後の 2...

Windows 10 64 ビット版に MySQL 5.6.35 をインストールするためのグラフィック チュートリアル

1. MySQL Community Server 5.6.35をダウンロードするダウンロードアドレ...

VMware で VMware ツールをインストールしてもインストール ファイルが表示されない問題を解決する方法

VMware ツールは VMware の使用に非常に便利です。そのため、VMware ツールをインス...

docker インストール後に hello-world を実行する問題を解決する

yumを使用してcentos7.3にDocker V1.13.1をインストールしましたしかし、doc...