VueでTypescriptの設定手順を使用する

VueでTypescriptの設定手順を使用する

vue3.0、react、angularなど、様々なフロントエンドフレームワークの開発を通じて、フレームワークのソースコードはすべてts(typescript)で書かれているため、今後の中規模・大規模プロジェクトの開発動向もtsと切り離せないものになると感じています。そのため、いくつかの入門チュートリアルに従って、vue と ts を組み合わせて使用​​したドキュメントを作成しました。これは、vue + ts プロジェクトの構成を開始するのに適しています。

1. TypeScriptが古いVueプロジェクトに導入される

npm インストール vue-class-component vue-property-decorator --save
npm で ts-loader typescript tslint tslint-loader tslint-config-standard --save-dev をインストールします。

vue-class-component : vue を拡張して TypeScript をサポートし、宣言的な方法で ts をサポートします。

vue-property-decorator : vue-class-component に基づいてより多くのデコレータを拡張します

ts-loader : webpack が ts ファイルを認識できるようにします

tslint-loader : tslint はファイルのエンコーディングを制限するために使用されます。インストールしてもしなくてもかまいません。コードの標準化に役立つため、インストールすることをお勧めします。

tslint-config-standard : tslint は標準スタイル制約を設定します。これは ts コード スタイルの標準化にも使用されます。

注:この ts のインストール方法は、元の vue プロジェクトの Js 構文を Ts に変更することです。詳細な手順については、https://www.jb51.net/article/230703.htm を参照してください。このブログでは、vue.config.js または webpack.base.conf の下位バージョンでの ts 構文の構成サポートが完全には示されていないため、次のように変更しました。

// ファイルプラグインの設定の場合は、configureWebpack オブジェクトに記述する必要があります。
モジュール.エクスポート = {
    Webpack を構成する: {
        解決: { 拡張子: [".ts", ".tsx", ".js", ".json"] },
        モジュール: {
            ルール:
                {
                    テスト: /\.ts$/,
                    除外: /node_modules/、
                    強制: 'pre'、
                    ローダー: 'tslint-loader'
                },
                {
                    テスト: /\.tsx?$/,
                    ローダー: 'ts-loader',
                    除外: /node_modules/、
                    オプション:
                        追加Tsサフィックス: [/\.vue$/],
                    }
                }
            ]
        }
    }
}

Vue+Typescript プロジェクトをゼロから作成する

この方法は比較的簡単です。コマンドvue create app-name以下の手順に従ってください。

ここに画像の説明を挿入

ここに画像の説明を挿入

2 番目のステップでは、上記のオプションを選択するだけです。ターミナルでスペース バーを使用して選択し、選択後に Enter キーを押します。オプションの意味は次のとおりです。

 (*) Babel //ES6 から ES5
 (*) TypeScript //tsを使用する
 ( ) プログレッシブ ウェブ アプリ (PWA) サポート //プログレッシブ ウェブ アプリ (*) ルーター //ルーティング (*) Vuex //状態管理 (*) CSS プリプロセッサ //CSS 前処理 (*) リンター / フォーマッタ //仕様タイプ ( ) ユニット テスト //テスト ( ) E2E テスト //テスト

次のステップの構成の詳細は次のとおりです。

クラススタイルのコンポーネント構文を使用しますか? (Y/n) クラススタイルのコンポーネント構文を使用しますか? Yと入力してEnterキーを押します TypeScriptと一緒にBabelを使用します(モダンモード、自動検出されたポリフィル、トランスフォームに必要)
積み重ねJSX)? (Y/n) BabelとTypeScriptを使用していますか(モダンモード、ポリゴン塗りつぶしの自動検出、トランス必須(JSX) Yを入力 ルーターに履歴モードを使用しますか? (製品でインデックスフォールバックを行うには適切なサーバー設定が必要です)
ion) (Y/n) 履歴ルーティングモードを使用しますか? N を入力して Enter キーを押します。 CSS プリプロセッサを選択します (PostCSS、Autoprefixer、CSS モジュールはデフォルトでサポートされています) 通常、Sass/SCSS (node-sass を使用) を選択します。

リンター/フォーマッターの設定を選択します: (矢印キーを使用): 構文検出仕様を選択します。通常、最初のESLint(エラー防止のみ)がデフォルトです。ただし、tsを使用する場合は、TSLintを選択できます。

追加の lint 機能を選択します: (選択するには押す、すべてを切り替えるには押す、選択を反転するには押す) [保存時にチェック] / [送信時にチェック] を選択します 通常、開発中は保存時に最初のチェックを選択します Babel、PostCSS、ESLint などの構成をどこに配置することを好みますか? (矢印キーを使用) 構成情報を個別に保存するか、package.json に保存するかを選択します 通常、最初のものがデフォルトで選択され、プラグイン構成は別のファイルに保存されます 将来のプロジェクトのためにこれをプリセットとして保存しますか? (y/N) 次回プロジェクトを作成するときに再度選択しなくても済むように、プリセットとして保存しますか? N と入力して Enter キーを押します

上記のオプションを完了すると、プロジェクトは正常にビルドされ、プロジェクト ディレクトリは次のようになります。

ここに画像の説明を挿入

vue.config.jsファイルを自分で作成し、プロジェクトのルート ディレクトリに配置する必要があります。

これで、vue で typescript 構成を使用する手順に関するこの記事は終了です。より関連性の高い vue typescript 構成コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue と TypeScript を統合するための最も簡単なチュートリアル (推奨)
  • Vue2 Vue-cliでTypescriptを使用するための詳細な設定

<<:  MySQL のストアド プロシージャを使用して 100 万件のレコードをすばやく生成する方法

>>:  VMWare仮想マシンのcentosの時間が現地時間と矛盾する問題を解決する

推薦する

Vue画像拡大鏡コンポーネントのカプセル化と使用方法の詳細な説明

Vue画像拡大鏡コンポーネントパッケージに基づいて、参考までに具体的な内容は次のとおりです。画像拡大...

Vueコンポーネントの作成方法と使用方法を説明する記事

目次1. コンポーネントとは何ですか? 2. グローバルコンポーネントを作成する方法1 1. Vue...

MySQL インデックスのパフォーマンス最適化の問題に対する解決策

MySQL によって作成される最適化はインデックスを追加することですが、インデックスを追加しても目的...

MyCat を使用して Linux で MySQL マスター/スレーブの読み取り/書き込み分離を実装する方法

目次Linux - MyCat を使用して MySQL マスター スレーブの読み取り書き込み分離を実...

PHP環境構築におけるDockerの柔軟な実装

Docker を使用して、柔軟なオンライン PHP 環境を構築します。場合によっては、他の人がすでに...

Nginxの仕組みの詳細な説明

Nginxの仕組みNginx はコアとモジュールで構成されています。 Nginx 自体は実際にはほと...

Linux システムの .bash_profile ファイルの詳細な説明

目次1. 環境変数$PATH: 2. 環境変数を変更します。 3. bash_profileの目的要...

Nginx と GeoIP モジュールを使用して IP の地域情報を読み取る方法

LinuxにGeoIPをインストールする yum で nginx-module-geoip をインス...

Vue3 の父子値転送に関する簡単な説明

目次父から息子へ: 1. 親コンポーネントのサブコンポーネントタグに、サブコンポーネントに渡されるデ...

MySQL 8.0 のインデックス スキップ スキャン

序文MySQL 8.0.13 では、インデックス スキップ スキャン (インデックス ジャンプ スキ...

mysql-8.0.19-winx64 をインストールしてログインするための初心者向けチュートリアル (初心者必読)

目次1. インストールパッケージ(64ビット)をダウンロードする2. MySQLデータベースをインス...

JS 配列の重複を排除する 9 つの高度な方法 (実証済みで効果的)

序文一般的な方法はここには記載されていませんが、等しいかどうかを判断するための二重ループや、比較のた...

nginx+php-fpm サービスの HTTP ステータス コード 502 の詳細な分析

弊社の Web プロジェクトの 1 つでは、新しい都市の増加によりトラフィックと DB 負荷が増加し...

適応分析と応答分析の違いを専門用語で詳しく説明

日々の開発経験と関連するオンライン情報に基づいて、アダプティブとレスポンシブの違いをシンプルでわかり...

MySQL エラー コード 1862 の解決方法: パスワードの有効期限が切れています

ブロガーは 1 ~ 2 か月間 MySQL を使用していませんでしたが、今日この問題に遭遇しました。...