Maison > interface Web > js tutoriel > le corps du texte

Tutoriel de configuration de l'intégration Vue et TypeScript

小云云
Libérer: 2018-01-15 13:48:59
original
1329 Les gens l'ont consulté

Cet article présente principalement le tutoriel le plus simple (recommandé) pour la configuration de l'intégration de vue et TypeScript. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer. J'espère qu'il pourra aider tout le monde.

Avant-propos

La documentation officielle de Vue ne donne pas d'étapes spécifiques pour l'intégration avec TypeScript. D'autres tutoriels sur Internet ont des problèmes ou sont différents des projets créés par vue-. cli. , ce qui empêche les gens de démarrer.

Ci-dessous, je vais donner la configuration la plus simple pour intégrer le projet créé par vue-cli avec TypeScript.

Initialisez le projet

Créez d'abord le projet webpack avec vue-cli. Pour faciliter la démonstration, le routeur et l'eslint ne sont pas ouverts ici. Vous pouvez les ouvrir en fonction de votre propre situation.


# 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
Copier après la connexion

Installez les dépendances liées à TypeScript et d'autres dépendances du projet, utilisez npm ou cnpm


# cd /vue-typescript
# npm install typescript ts-loader --save-dev
# npm install
Copier après la connexion

Configuration

Modifiez le fichier bulid/webpack.base.conf.js dans le répertoire et ajoutez les règles suivantes au module>rules dans le fichier


{
 test: /\.tsx?$/,
 loader: 'ts-loader',
 exclude: /node_modules/,
 options: {
  appendTsSuffixTo: [/\.vue$/],
 }
},
Copier après la connexion

Créez un nouveau fichier vue-shims.d.ts dans le répertoire src pour identifier le code ts dans un seul fichier vue


declare module "*.vue" {
 import Vue from "vue";
 export default Vue;
}
Copier après la connexion

dans le répertoire racine du projet Créez un fichier de configuration TypeScript tsconfig.json sous


{
 "compilerOptions": {
  "strict": true,
  "module": "es2015",
  "moduleResolution": "node",
  "target": "es5",
  "allowSyntheticDefaultImports": true,
  "lib": [
   "es2017",
   "dom"
  ]
 }
}
Copier après la connexion

Renommez main.js sous src en main.ts

Modifiez sous webpack.base.conf.js entry>app为'./src/main.ts'

Modifiez le fichier App.vue sous src et testez-le dans


<script lang="ts">
Copier après la connexion

Vous pouvez tester si le l'intégration est réussie. Editez le fichier src/components/Hello.vue, modifiez


et exécutez le projet

<script lang="ts">
 import Vue, {ComponentOptions} from 'vue'
 export default {
  name: 'hello',
  data() {
   return {
    msg: 'this is a typescript project now'
   }
  }
 } as ComponentOptions
Copier après la connexion


Le test a réussi, c'est maintenant un projet TypeScipt

# npm run dev
Copier après la connexion

Avancé

Configurer la vue officiellement recommandée - class-component, https://cn.vuejs.org/v2/guide/typescript.html

Installer les dépendances de développement


Modifier ts Fichier de configuration, ajoutez les deux configurations suivantes

# npm install --save-dev vue-class-component
Copier après la connexion


Réécrivez notre composant Hello

"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
Copier après la connexion


dans use Après vue-class-component, les données initiales peuvent être directement déclarées comme l'attribut de l'instance sans les mettre dans data() {return{}}. La méthode du composant peut également être directement déclarée comme la méthode de l'instance, par exemple. comme instance officielle. Plus d'utilisations Pour les méthodes, veuillez vous référer à sa documentation officielle

<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'  
 }
Copier après la connexion
https://github.com/vuejs/vue-class-component#vue-class-component


Recommandations associées :

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)
 }
}
Copier après la connexion

Améliorations de TypeScript dans Vue 2.5

Présentation des types déclarés de JavaScript et TypeScript

Partagez quelques astuces sur TypeScript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!