Vue 및 TypeScript 통합 구성 튜토리얼

小云云
풀어 주다: 2018-01-15 13:48:59
원래의
1329명이 탐색했습니다.

이 글은 주로 vue와 TypeScript의 통합 구성에 대한 가장 간단한 튜토리얼(권장)을 소개합니다. 관심 있는 친구들이 참고할 수 있기를 바랍니다.

머리말

Vue의 공식 문서에는 TypeScript와의 통합을 위한 구체적인 단계가 나와 있지 않습니다. 인터넷의 다른 튜토리얼에는 문제가 있거나 vue-cli로 만든 프로젝트와 달라서 시작하기가 어렵습니다.

아래에서는 vue-cli로 생성된 프로젝트를 TypeScript와 통합하는 가장 간단한 구성을 설명하겠습니다.

프로젝트 초기화

먼저 vue-cli로 webpack 프로젝트를 생성합니다. 여기서는 시연의 편의를 위해 Router와 eslint를 열지 않고 각자의 상황에 맞게 열면 됩니다.


# 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
로그인 후 복사

TypeScript 관련 종속성 및 프로젝트의 기타 종속성을 설치하려면 npm 또는 cnpm을 사용하세요. 파일 모듈>규칙 다음 규칙을 추가하세요


# cd /vue-typescript
# npm install typescript ts-loader --save-dev
# npm install
로그인 후 복사

src 디렉터리에 새 파일 vue-shims.d.ts를 만들어 단일 파일에서 ts 코드를 식별합니다 vue

{
 test: /\.tsx?$/,
 loader: 'ts-loader',
 exclude: /node_modules/,
 options: {
  appendTsSuffixTo: [/\.vue$/],
 }
},
로그인 후 복사

TypeScript 구성 파일 만들기 프로젝트 루트 디렉터리 .json


declare module "*.vue" {
 import Vue from "vue";
 export default Vue;
}
로그인 후 복사

의 tsconfig src 아래 main.js의 이름을 main.ts


webpack.base.conf로 수정합니다. js</code ></p><p> 아래의 <code>entry>app은 './src/main.ts'

src 아래의 App.vue 파일을 수정하고,
아래에서 완료되는지 테스트할 수 있습니다.

main.jsmain.ts

修改webpack.base.conf.js下的entry>app为&#39;./src/main.ts&#39;

{
 "compilerOptions": {
  "strict": true,
  "module": "es2015",
  "moduleResolution": "node",
  "target": "es5",
  "allowSyntheticDefaultImports": true,
  "lib": [
   "es2017",
   "dom"
  ]
 }
}
로그인 후 복사

test


통합이 성공했습니다. src/comComponents/Hello.vue 파일을 편집하고

<script lang="ts">
로그인 후 복사

프로젝트를 실행하세요


<script lang="ts">
 import Vue, {ComponentOptions} from 'vue'
 export default {
  name: 'hello',
  data() {
   return {
    msg: 'this is a typescript project now'
   }
  }
 } as ComponentOptions
로그인 후 복사

테스트가 성공했습니다. 이제 완료되었습니다. TypeScipt 프로젝트


Advanced

구성 공식 권장 vue-class-comComponent, https://cn.vuejs.org/v2/guide/typescript.html

개발 종속성 설치

# npm run dev
로그인 후 복사

ts 구성 파일을 수정하고 다음 두 가지 구성을 추가합니다


# npm install --save-dev vue-class-component
로그인 후 복사

Hello 컴포넌트를 다시 작성합니다


"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
로그인 후 복사

vue-class-comComponent를 사용한 후 초기 데이터를 추가하지 않고도 인스턴스의 속성으로 직접 선언할 수 있습니다. data() {return{}}에 있습니다. 공식 인스턴스와 같이 직접 인스턴스로 선언된 메소드를 사용할 수도 있습니다. 자세한 사용 방법은 공식 문서

https://github.com/를 참조하세요. vuejs/vue-class-comComponent#vue-class-comComponent


<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'  
 }
로그인 후 복사
관련 권장 사항:

Vue 2.5의 TypeScript 개선

JavaScript 및 TypeScript 선언적 유형 소개

에 대한 팁 공유 타입스크립트

위 내용은 Vue 및 TypeScript 통합 구성 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!