目次
TypeScript を使用する理由
1. 依存関係のインストール
2. TypeScript 構成のセットアップ
3. Laravel Mix の構成
使用例
ホームページ PHPフレームワーク Laravel Laravel で Typescript を使用する方法の簡単な分析

Laravel で Typescript を使用する方法の簡単な分析

Dec 27, 2022 pm 08:21 PM
php laravel typescript

Laravel で Typescript を使用するにはどうすればよいですか? LaravelでのTypescriptの使い方については以下の記事で紹介していますので、お役に立てれば幸いです。

Laravel で Typescript を使用する方法の簡単な分析

PHP 開発者、特に Laravel 開発者は、より厳密に型指定されたコードを書き始めていますが、フルスタック開発者は、フロントエンド コードに適用されているプラ​​クティスと同じものを入力しない傾向があります。 。その中でも、TypeScript はフロントエンド コンポーネントを記述する「異なる」方法であると考えられています。 [関連する推奨事項: laravel ビデオ チュートリアル ]

TypeScript に関する最も多くの誤解は、バックエンド開発者にとって複雑すぎるため、追加の値を提供せずにコード サイズが拡大するだけであるということです。

実際には、TypeScript は型の宣言を強制しません。ここが重要な部分です。TypeScript は JavaScript のスーパーセットであり、その上に何かを追加できますが、任意の有効な JS は有効な TS でもあります。

これによる実際的な影響は、ファイル名を .js から .ts に変更し、徐々に型を追加したり、新しいファイルで型の使用を開始したりできることです。コードベースの型カバレッジが 100% である必要はありません。好みに応じて TypeScript を使用できます。

TypeScript を使用する理由

TypeScript にはオプションの静的型付けが用意されており、コンパイル段階でコードを構築して検証できるようになります。また、IDE の自動補完と検証のサポート、およびコード ナビゲーション機能も提供します。つまり、TypeScript はコードの可読性を高め、デバッグ プロセスを改善します。

TypeScript サポートを Laravel プロジェクトに追加するのは簡単で、数分しかかかりませんが、フロントエンドのエクスペリエンスを向上させることができます。 Vue 3 で Laravel Breeze を再インストールして、プロセスを確認してみましょう。

1. 依存関係のインストール

まず、TypeScript コンパイラーと対応する Webpack ローダーをインストールします。

npm install ts-loader typescript --save-dev
# 或者
yarn add ts-loader typescript -D
ログイン後にコピー

2. TypeScript 構成のセットアップ

TypeScript コンパイラーには、必要なオプションを含む構成ファイルが必要です。適切な IDE オートコンプリートも望ましいです。

tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    "module": "es2020",
    "moduleResolution": "node",
    "baseUrl": "./",
    "strict": true,                 // Enable strict type-checking options
    "skipLibCheck": true,           // Skip type checking of declaration files
    "noImplicitAny": false          // Bypass raising errors on `any` type
  },
  "include": ["resources/js/**/*"]  // 前端路径模式
}
ログイン後にコピー

3. Laravel Mix の構成

Laravel の初期インストールが行われます。 TypeScript に変換する必要がある JavaScript エントリの例を示します。 .js の名前を .ts に変更するだけです。

-resources/js/app.js
+resources/js/app.ts
ログイン後にコピー

次に、JavaScript コードを TypeScript として処理する必要があることを Mix に知らせます。 Laravel Mix には TypeScript サポートが組み込まれています。

webpack.mix.js

-mix.js('resources/js/app.js', 'public/js')
+mix.ts('resources/js/app.ts', 'public/js')
ログイン後にコピー

コンポーネントのコードを TypeScript として扱う必要があることをコンパイラと IDE に伝える必要もあります。 lang="ts" セクションをコンポーネント スクリプト セクションに追加します。

<script lang="ts">
import { defineComponent } from "@vue/runtime-core";

export default defineComponent({
    ...
});
</script>
ログイン後にコピー

準備はできていますか?以前と同じ方法でコードを書き続け、TypeScript の機能を利用してフロントエンド エクスペリエンスを向上させることができます。

使用例

TypeScript を使用すると、単純な型と複雑な構造を使用して変数とメソッドをタイプヒントできます。ここでは主にバックエンドとの対話に焦点を当てているため、モデルとの対話の例を見てみましょう。

必要な型宣言をすべて含むファイル (resources/js/types.d.ts) を作成しましょう。

フロントエンドから対話できるモデル ユーザーがいるとします。これは、デフォルトのユーザー モデルの基本的な TypeScript 表現です。オブジェクトが持つことができるプロパティと、それらのプロパティがどのような型であるべきかを説明します。

resources/js/types.d.js

declare interface User {
    id: number;
    name: string;
    email: string;
}
ログイン後にコピー

変数を割り当てるとき、またはメソッドから値を返すときに、このインターフェイスを使用できるようになりました。 。

let user = <User>{ id: 1, name: &#39;Taylor Otwell&#39; }

function getUser(): User {
    ...
}
ログイン後にコピー

したがって、user 変数にアクセスすると、IDE は対応するオブジェクト プロパティを提案します。また、コードをコンパイルする前に型エラーが発生したことを知ることができます。

すべてのモデルのインターフェイスを作成し、バックエンド コードとの同期を維持するには、さらに時間がかかります。 laravel-typescript 拡張機能の使用を検討するとよいでしょう。これにより、Laravel モデルを TypeScript 宣言に変換し、移行との同期を保つことができます。

元のアドレス: https://laravel-news.com/typescript-laravel

翻訳アドレス: https://learnku.com/laravel/t/67586

プログラミング関連の知識について詳しくは、プログラミング ビデオをご覧ください。 !

以上がLaravel で Typescript を使用する方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

バングラ部分モデル検索のlaravelEloquent orm) バングラ部分モデル検索のlaravelEloquent orm) Apr 08, 2025 pm 02:06 PM

LaravelEloquentモデルの検索:データベースデータを簡単に取得するEloquentormは、データベースを操作するための簡潔で理解しやすい方法を提供します。この記事では、さまざまな雄弁なモデル検索手法を詳細に紹介して、データベースからのデータを効率的に取得するのに役立ちます。 1.すべてのレコードを取得します。 ALL()メソッドを使用して、データベーステーブルですべてのレコードを取得します:useapp \ models \ post; $ post = post :: all();これにより、コレクションが返されます。 Foreach Loopまたはその他の収集方法を使用してデータにアクセスできます。

PHPの未来:適応と革新 PHPの未来:適応と革新 Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHP対Python:違いを理解します PHP対Python:違いを理解します Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPの現在のステータス:Web開発動向を見てください PHPの現在のステータス:Web開発動向を見てください Apr 13, 2025 am 12:20 AM

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

LaravelとThe BackEnd:Webアプリケーションロジックの電源 LaravelとThe BackEnd:Webアプリケーションロジックの電源 Apr 11, 2025 am 11:29 AM

Laravelはバックエンドロジックでどのように役割を果たしますか?ルーティングシステム、Eloquentorm、認証と承認、イベントとリスナー、パフォーマンスの最適化を通じてバックエンド開発を簡素化および強化します。 1.ルーティングシステムにより、URL構造の定義とリクエスト処理ロジックが可能になります。 2.Eloquentormは、データベースの相互作用を簡素化します。 3.認証および承認システムは、ユーザー管理に便利です。 4.イベントとリスナーは、ゆるく結合したコード構造を実装します。 5.パフォーマンスの最適化により、キャッシュとキューイングを通じてアプリケーションの効率が向上します。

リモートシニアバックエンジニア(プラットフォーム)がサークルが必要です リモートシニアバックエンジニア(プラットフォーム)がサークルが必要です Apr 08, 2025 pm 12:27 PM

リモートシニアバックエンジニアの求人事業者:サークル場所:リモートオフィスジョブタイプ:フルタイム給与:$ 130,000- $ 140,000職務記述書サークルモバイルアプリケーションとパブリックAPI関連機能の研究開発に参加します。ソフトウェア開発ライフサイクル全体をカバーします。主な責任は、RubyonRailsに基づいて独立して開発作業を完了し、React/Redux/Relay Front-Endチームと協力しています。 Webアプリケーションのコア機能と改善を構築し、機能設計プロセス全体でデザイナーとリーダーシップと緊密に連携します。肯定的な開発プロセスを促進し、反復速度を優先します。 6年以上の複雑なWebアプリケーションバックエンドが必要です

PHP:多くのウェブサイトの基礎 PHP:多くのウェブサイトの基礎 Apr 13, 2025 am 12:07 AM

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

See all articles