2017-10-16 16 views
0

vue jsをtypescript 2.5.3で2.5.2にアップグレードしようとしています。Vue js 2.5.2&typescript upgrade error

import Vue from 'vue' 

var app = new Vue({ 
    el: '#app', 
    data: { 
     message: 'Hello Vue!' 
    } 
}) 

ここに私のtsconfig.jsonが

{ 
    "compilerOptions": { 
    "outDir": "./wwwroot/build/", 
    "noImplicitAny": false, 
    "noEmitOnError": true, 
    "removeComments": false, 
    "sourceMap": true, 
    "target": "es5", 
    "module": "es2015", 
    "moduleResolution": "node", 
    "lib": [ 
     "dom", 
     "es5", 
     "es2015.promise" 
    ], 
    "types": [ 
     "vue-typescript-import-dts" 
    ], 
    "experimentalDecorators": true 
    }, 
    "include": [ 
    "Features/**/*.ts" 
    ], 
    "exclude": [ 
    "node_modules", 
    "wwwroot" 
    ] 
} 

であり、ここでエラーメッセージです: Cで

ERRORここ

は私のindex.tsファイルがあります:\ dev \ proj \ src \ Proj.Web \ node_modules \ vue-typescript-import-dts \ index.d.ts (3,36):エラーTS2304:Can not fi名前「Vue」。

私の設定はvue js 2.4でうまくいきました。

私は"allowSyntheticDefaultImports" 削除:真、as said here

は以前、我々はすでに「allowSyntheticDefaultImports」でどこでもES-スタイルの輸入( 'VUE' からインポートヴュー )を使用することをお勧めします:真 にtsconfig.json。新しいタイピングは正式にESスタイルの インポート/エクスポートシンタックスに移行するため、configは不要になり、すべてのケースでユーザーには のESスタイルのインポートを使用する必要があります。

誰かが私に欠けているものを見ますか?

答えて

1

私はVSCodeで新しいフォルダを開始しましたが、私はいくつかの観察をしています。

Vue on NPMのパッケージにはタイプ情報が含まれているため、Vueの追加タイプを取得する必要はありません(はNPMからグラブ@types/vue)。

だけVUEパッケージで
"dependencies": { 
    "vue": "^2.5.2" 
} 

、およびセクションなし:

"types": [ 
    "vue-typescript-import-dts" 
], 

私はあなたのサンプルコードでうまくすべてをコンパイルすることができます。

全詳細...

package.json

{ 
    "name": "sample-vue", 
    "private": true, 
    "dependencies": { 
     "vue": "^2.5.2" 
    } 
} 

tsconfig.json

{ 
    "compilerOptions": { 
     "outDir": "./wwwroot/build/", 
     "noImplicitAny": false, 
     "noEmitOnError": true, 
     "removeComments": false, 
     "sourceMap": true, 
     "target": "es5", 
     "module": "es2015", 
     "moduleResolution": "node", 
     "lib": [ 
      "dom", 
      "es5", 
      "es2015.promise" 
     ], 
     "experimentalDecorators": true 
    }, 
    "include": [ 
     "*.ts" 
    ], 
    "exclude": [ 
     "node_modules", 
     "wwwroot" 
    ] 
} 

app.ts

import Vue from 'vue' 

var app = new Vue({ 
    el: '#app', 
    data: { 
     message: 'Hello Vue!' 
    } 
}) 
+0

型セクションとallowSyntheticDefaultImportsを削除しました!どうも – Swell