Heim > Web-Frontend > js-Tutorial > Hauptteil

Tutorial zur Konfiguration der Vue- und TypeScript-Integration

小云云
Freigeben: 2018-01-15 13:48:59
Original
1329 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich das einfachste Tutorial (empfohlen) für die Integrationskonfiguration von Vue und TypeScript vor. Ich hoffe, es kann jedem helfen.

Vorwort

Die offizielle Dokumentation von Vue enthält keine spezifischen Schritte zur Integration mit TypeScript. Andere Tutorials im Internet weisen entweder Probleme auf oder unterscheiden sich von den von vue erstellten Projekten. cli. , was dazu führt, dass die Leute nicht starten können.

Im Folgenden gebe ich die einfachste Konfiguration zur Integration des von vue-cli erstellten Projekts mit TypeScript.

Initialisieren Sie das Projekt

Erstellen Sie zunächst das Webpack-Projekt mit vue-cli. Zur Vereinfachung der Demonstration werden Router und Eslint hier nicht geöffnet. Sie können sie entsprechend Ihrer eigenen Situation öffnen.


# vue init webpack vue-typescript

? Project name vue-typescript
? Project description A Vue.js project
? Author
? Vue build standalone
? Install vue-router? No
? Use ESLint to lint your code? No
? Setup unit tests with Karma + Mocha? No
? Setup e2e tests with Nightwatch? No
Nach dem Login kopieren

Installieren Sie TypeScript-bezogene Abhängigkeiten und andere Projektabhängigkeiten, verwenden Sie npm oder cnpm


# cd /vue-typescript
# npm install typescript ts-loader --save-dev
# npm install
Nach dem Login kopieren

Konfiguration

Ändern Sie die Datei bulid/webpack.base.conf.js im Verzeichnis und fügen Sie die folgenden Regeln zu module>rules in der Datei hinzu


{
 test: /\.tsx?$/,
 loader: 'ts-loader',
 exclude: /node_modules/,
 options: {
  appendTsSuffixTo: [/\.vue$/],
 }
},
Nach dem Login kopieren

Erstellen Sie eine neue Datei vue-shims.d.ts im src-Verzeichnis, um den ts-Code in einer einzelnen Datei vue zu identifizieren


declare module "*.vue" {
 import Vue from "vue";
 export default Vue;
}
Nach dem Login kopieren

im Projektstammverzeichnis Erstellen Sie eine TypeScript-Konfigurationsdatei tsconfig.json unter


{
 "compilerOptions": {
  "strict": true,
  "module": "es2015",
  "moduleResolution": "node",
  "target": "es5",
  "allowSyntheticDefaultImports": true,
  "lib": [
   "es2017",
   "dom"
  ]
 }
}
Nach dem Login kopieren

Benennen Sie main.js unter src in main.ts

um. Ändern Sie unter webpack.base.conf.js entry>app为'./src/main.ts'

Ändern Sie die App.vue-Datei unter src und testen Sie sie in


<script lang="ts">
Nach dem Login kopieren

Sie können testen, ob die Die Integration ist erfolgreich. Bearbeiten Sie die Datei src/components/Hello.vue, ändern Sie


und führen Sie das Projekt aus

<script lang="ts">
 import Vue, {ComponentOptions} from 'vue'
 export default {
  name: 'hello',
  data() {
   return {
    msg: 'this is a typescript project now'
   }
  }
 } as ComponentOptions
Nach dem Login kopieren


Der Test war erfolgreich, jetzt ist es ein TypeScipt-Projekt

# npm run dev
Nach dem Login kopieren

Erweitert

Konfigurieren Sie den offiziell empfohlenen Vue - Klassenkomponente, https://cn.vuejs.org/v2/guide/typescript.html

Entwicklungsabhängigkeiten installieren


Ändern ts-Konfigurationsdatei, fügen Sie die folgenden zwei Konfigurationen hinzu

# npm install --save-dev vue-class-component
Nach dem Login kopieren


Schreiben Sie unsere Hello-Komponente neu

"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
Nach dem Login kopieren


zu Nach der Verwendung von vue-class-component können die Anfangsdaten direkt als Attribut der Instanz deklariert werden, ohne sie in data() {return{}} einzufügen. Die Komponentenmethode kann auch direkt als Methode der Instanz deklariert werden, z als offizielle Instanz. Weitere Verwendungsmöglichkeiten finden Sie in der offiziellen Dokumentation

<script lang="ts">
 import Vue from 'vue'
 import Component from 'vue-class-component'
 @Component
 export default class Hello extends Vue {
  msg: string = 'this is a typescript project now'  
 }
Nach dem Login kopieren
https://github.com/vuejs/vue-class-component#vue-class-component


Verwandte Empfehlungen:

import Vue from &#39;vue&#39;
import Component from &#39;vue-class-component&#39;
// @Component 修饰符注明了此类为一个 Vue 组件
@Component({
 // 所有的组件选项都可以放在这里
 template: &#39;<button @click="onClick">Click!</button>&#39;
})
export default class MyComponent extends Vue {
 // 初始数据可以直接声明为实例的属性
 message: string = &#39;Hello!&#39;
 // 组件方法也可以直接声明为实例的方法
 onClick (): void {
  window.alert(this.message)
 }
}
Nach dem Login kopieren

Verbesserungen in TypeScript in Vue 2.5

Einführung der deklarierten Typen von JavaScript und TypeScript

Teilen Sie einige Tipps zu TypeScript

Das obige ist der detaillierte Inhalt vonTutorial zur Konfiguration der Vue- und TypeScript-Integration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!