2017-10-16 1 views
0

Ich versuche, vue js auf 2.5.2 mit Typoskript 2.5.3 zu aktualisieren. HierVue js 2.5.2 & Typoskript Upgrade Fehler

ist die Datei, mein index.ts:

import Vue from 'vue' 

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

Hier ist meine 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" 
    ] 
} 

Und hier wird die Fehlermeldung:

ERROR in C : \ dev \ proj \ src \ Proj.Web \ node_modules \ vue-typescript-import-dts \ index.d.ts (3,36): Fehler TS2304: Kann nicht fi Name "Vue".

Mein Setup funktionierte gut mit vue js 2.4.

Ich entferne die "allowSyntheticDefaultImports": true,as said here

Zuvor schon empfehlen wir ES-Stil-Importe mit (Import Vue von 'vue') überall mit „allowSyntheticDefaultImports“: true in tsconfig.json. Die neuen Typisierungen werden offiziell in die ES-ähnliche Import/Export-Syntax verschoben, so dass die Konfiguration nicht mehr notwendig ist und Benutzer in allen Fällen ES-ähnliche Importe verwenden müssen.

Wer sieht, was ich vermisse?

Antwort

1

Ich habe gerade einen neuen Ordner in VSCode gestartet und ich habe ein paar Beobachtungen.

Das Paket für Vue auf NPM Informationen enthält geben, so müssen Sie keine weiteren Typen für Vue (das heißt nicht greifen @types/vue von NPM) zu erhalten.

"dependencies": { 
    "vue": "^2.5.2" 
} 

Mit nur vue Paket und ohne den Abschnitt:

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

ich alles ganz gut mit Ihrem Beispielcode kompilieren kann.

vollständige Details ...

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

Entfernen der Typen Abschnitt und allowSyntheticDefaultImports hat es geschafft! Danke – Swell