Vue2 Vue-cli で Typescript を使用する設定の紹介
この記事では主に Vue2 Vue-cli で Typescript を使用するための設定を紹介します。必要な方は参考にしてください。Vue は 3 つの主要なフロントエンド フレームワークの 1 つです。 github では 44,873 個のスターを獲得しており、これは静かに主流になったことを示すのに十分です。以下の記事では、Vue2 Vue-cli で Typescript を使用するための設定に関する関連情報を主に紹介します。必要な方は参考にしてください。
前書き会社のチームが最近 vue フレームワークに熱心で、私は新しいプロジェクトで typescript を練習したいと思ったので、vue+ts の旅を始めました... この記事は次のような人を対象としています。私と同じ考えです。落とし穴に陥る時間を節約してください。これ以上は言いません。Vue2 Vue-cli で Typescript を使用するために必要な設定を見てみましょう。
1. 初期設定 まず、公式プラグイン vue-class-component、vue-property-decorator をインストールし、webpack を設定します。
Webpackの構成は次のとおりです:
エントリファイルを変更します
entry: { app: './src/main.ts' }
解決部分:
extensions: ['.js', '.vue', '.json', '.ts', '.tsx']
ローダーを構成します
{ test: /\.tsx?$/, loader: 'ts-loader', exclude: /node_modules/, options: { appendTsSuffixTo: [/\.vue$/], } }
tsconfig.jsonを構成する
{ "include": [ "src/**/*" ], "exclude": [ "node_modules" ], "compilerOptions": { "allowSyntheticDefaultImports": true, "experimentalDecorators": true, "allowJs": true, "module": "es2015", "target": "es5", "moduleResolution": "node", "experimentalDecorators": true, "isolatedModules": true, "lib": [ "dom", "es5", "es2015.promise" ], "sourceMap": true, "pretty": true } }
2. 実戦!
構成のセットアップは最初のステップにすぎず、プロジェクトでの実行が重要です。
vueファイルのscriptタグにlang='ts'
を追加します
lang='ts'
因为ts-loader不像配过loader的webpack一样知道vue,html等文件是什么东西,你跑起来后会报模块无法解析的错误,所以还需要配置.d.ts声明文件
vue的如下配置
declare module "*.vue" { import Vue from 'vue'; export default Vue; }
你也可以为其它的非js模块配置.d.ts文件如html(告诉ts-loader把html理解成字符串)
declare module "*.html" { let template: string; export default template; }
配置好之后ts就能理解这些模块了
从vue-property-decorator引入需要用到的模块
(一般只用到Component, Vue, Watch, Prop这四个,其它3个没用到也没研究,知道的大佬可以解释下。)
import { Component, Vue, Watch } from 'vue-property-decorator'
ts-loaderはローダー搭載のwebpackのようにvueやhtmlなどがどのようなファイルなのか分からないため、 run 起動後、モジュールを解析できないエラーが報告されるので、.d.ts宣言ファイルの設定も必要です
vueの以下の設定
class HoverTopElem { leaveTop: number = -200 top: number = null height: number = null show(e) { this.top = e.target.getBoundingClientRect().top this.height = e.target.clientHeight } hidden() { this.top = this.leaveTop } } @Component({ name: 'sidebar', template: template, components: { sidebarItem } }) export default class Sidebar extends Vue { SidebarMenu: any = SidebarMenu hoverTopElem: HoverTopElem = new HoverTopElem() activeListItemName: string = null activeRouteItemRoute: string = null get _activeRouteItemRoute(): string { return this.$route.path } @Watch('_activeRouteItemRoute', { immediate: true }) onRouteChanged(val: any) { this.activeRouteItemRoute = val } changeList(param) { this.activeListItemName = param } changeRoute(param) { this.activeRouteItemRoute = param } }
.dの設定も可能です。 HTML などの他の非 JS モジュール用の ts ファイル (ts-loader に html を文字列として理解するように指示します)
rrreee設定後、ts はこれらのモジュールを理解できるようになります
vue-property- から必要なモジュールを導入しますデコレーターimport { Component, Vue, Watch } from 'vue. -property-decorator'
以前に書いた sidbar コードの例です:
rrreeeメタデータは、名前、コンポーネントなどの @Component 設定に書き込まれます。次に、以前に vue で使用されていた各インスタンス属性メソッドの使用方法について説明します。
data: これは、上記の SidebarMenu と同様に、最も一般的に使用されます (ここでは合計 4 つの変数が宣言されていることに注意してください)。ここに値を割り当てる必要があります。そうでない場合は null になり、未定義にすることはできません。そうしないと、データが応答しなくなります。したがって、HoverTopElem クラスのプロパティにも初期値が必要です。そうでない場合、これらのプロパティは応答しません。これは get 関数です。tsconfig.jsonp は "target": "es5" を構成していないため、エラーが発生します。ここで報告されています。Prop: vue- property-decorator に Prop モジュールがあります。このプロパティをメタデータで宣言してから、この変数をクラスで宣言することもできます。watch: vue- モジュールを宣言します。 property-decoratormethods : データと同様にクラス内に直接メソッドを記述可能(サイクルフックと同じ名前にしないように注意)
各種ライフサイクルフック: 直接記述するだけ
vueを参照ルーティングフック用の-class-componentドキュメント
この時点では、基本的には前と同じようにvueコンポーネントを書くことができます。 もちろん、以前のように ts を書きたい場合は、tslint も設定する必要があります。そうしないと、public 修飾子などの一部の ts 構文が認識されません。ts はあまり熟練していないため、それを設定することは考えていません。興味のある友達は試してみることができます。
Vue 背景画像のパッケージ化後のアクセス パスが正しくない問題を解決する方法
🎜🎜🎜🎜 casperjs とimilare.js に基づいてピクセル比較サービスを実装する 🎜🎜🎜🎜🎜その後初めて初期化されるvueプロジェクトが作成されました スタイラスを使ったインストール方法の紹介🎜🎜🎜🎜🎜🎜🎜🎜🎜以上がVue2 Vue-cli で Typescript を使用する設定の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes< router-link to ="/" Component Window.history.back()、およびメソッド選択はシーンに依存します。

VUEの関数傍受は、指定された期間内に関数が呼び出され、パフォーマンスの問題を防ぐ回数を制限するために使用される手法です。実装方法は次のとおりです。LodashLibrary:Import {Debounce}から「Lodash」からインポート。 debounce関数を使用して、インターセプト関数を作成します。インターセプト関数を呼び出すと、制御関数は500ミリ秒でせいぜい1回呼び出されます。

VUEマルチページ開発は、VUE.JSフレームワークを使用してアプリケーションを構築する方法です。アプリケーションは別々のページに分割されます。コードメンテナンス:アプリケーションを複数のページに分割すると、コードの管理とメンテナンスが容易になります。モジュール性:各ページは、簡単に再利用および交換するための別のモジュールとして使用できます。簡単なルーティング:ページ間のナビゲーションは、単純なルーティング構成を介して管理できます。 SEOの最適化:各ページには独自のURLがあり、SEOに役立ちます。

vue.jsのforeachループは、v-forディレクティブを使用します。これにより、開発者は各要素を配列またはオブジェクトの各要素を繰り返し、各要素で特定の操作を実行できます。構文は次のとおりです。< Template> < ul> < li v-for ="アイテムの項目>> {{item}}</li> </ul> </template>&am
