2017-10-26 11 views

答えて

1

第1に、すべてのモジュール補強は、補強されているものを宣言する実際のモジュールを対象とする必要があります。これは、vuex拡張機能で確認できます。

// vuex/types/vue.d.ts 
declare module "vue/types/vue" { 
    interface Vue { 
    $store: Store<any>; 
    } 
} 

同じことをする必要があります。それはあなたがそれがVueの増加として見られるだろうと言うことである、動作します

export {} // ensure this file is a module 

declare module "vue/types/vue" { 
    interface Vue { 
    $store: Store<any>; 
    } 
} 

を書くでしょう、あなたのtypes/store.d.tsで、あります。残念ながら、私たちは直ちに回避策を知らない別のエラーに直面します。

後続の変数宣言は、同じ型でなければなりません。変数 '$ store'は、 '*****/how-to-retyping-master/node_modules/vuex/types/vue.d.ts 15:4'にタイプ 'Store'を持ちますが、ここにはタイプ 'number'があります。

これは、宣言の重複、重複するメンバー宣言の競合の制限です。

"vuex"をインポートするとインポートされたものが除外されないため、この方法は適切ではありません。つまり、それに付属する機能拡張を除外することはできません。

我々はパスを使用して"vuex"の私たちの輸入をリダイレクトする、または周囲の外部モジュール宣言とそれを影が、それは実用的か保守しないで"vuex/types/index.d.ts""vuex/types/helpers.d.ts"のすべてを再宣言するために、私たちが必要となる可能性があります。

+0

あなたの答えはThansですので、数字やその他のタイプに変更することはできませんか? – Galen

+0

残念ながらそうではありません。 'vuex/types/vue.d.ts'をさまざまな方法で除外または隠して再マップしましたが、問題は' vuex/types/index.d.ts 'によってインポートされ、そのファイルが必要です。 –

関連する問題