最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue與TypeScript集成配置最簡教程(推薦)

 更新時間:2017年10月17日 09:50:28   作者:意大利番茄  
本篇文章主要介紹了vue與TypeScript集成配置最簡教程(推薦),具有一定的參考價值,感興趣的小伙伴們可以參考一下

前言

Vue的官方文檔沒有給出與TypeScript集成的具體步驟,網(wǎng)上其他的教程不是存在問題就是與vue-cli建立的項目存在差異,讓人無從下手。

下面我就給出vue-cli建立的項目與TypeScript集成的最簡配置。

初始化項目

首先用vue-cli建立webpack項目。這里為了演示方便,沒有打開router和eslint等,可以根據(jù)自身情況打開。

# 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相關(guān)依賴和項目其余依賴,用npm或cnpm

# cd /vue-typescript
# npm install typescript ts-loader --save-dev
# npm install

配置

修改目錄下bulid/webpack.base.conf.js文件,在文件內(nèi)module>rules添加以下規(guī)則

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

在src目錄下新建一個文件vue-shims.d.ts,用于識別單文件vue內(nèi)的ts代碼

declare module "*.vue" {
 import Vue from "vue";
 export default Vue;
}

在項目根目錄下建立TypeScript配置文件tsconfig.json

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

重命名src下的main.jsmain.ts

修改webpack.base.conf.js下的entry>app為'./src/main.ts'

修改src下的App.vue文件,在

<script lang="ts">

測試

下面可以測試是否集成成功,編輯src/components/Hello.vue文件,修改

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

運行項目

# npm run dev

測試成功,現(xiàn)在是一個TypeScipt項目了

 

進階

配置官方推薦的vue-class-component,https://cn.vuejs.org/v2/guide/typescript.html

安裝開發(fā)依賴

# npm install --save-dev vue-class-component

修改ts配置文件,增加以下兩項配置

"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,

改寫我們的Hello組件

<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'  
 }
</script>

使用vue-class-component后,初始數(shù)據(jù)可以直接聲明為實例的屬性,而不需放入data() {return{}}中,組件方法也可以直接聲明為實例的方法,如官方實例,更多使用方法可以參考其官方文檔

https://github.com/vuejs/vue-class-component#vue-class-component

import Vue from 'vue'
import Component from 'vue-class-component'
// @Component 修飾符注明了此類為一個 Vue 組件
@Component({
 // 所有的組件選項都可以放在這里
 template: '<button @click="onClick">Click!</button>'
})
export default class MyComponent extends Vue {
 // 初始數(shù)據(jù)可以直接聲明為實例的屬性
 message: string = 'Hello!'
 // 組件方法也可以直接聲明為實例的方法
 onClick (): void {
  window.alert(this.message)
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解vue-element Tree樹形控件填坑路

    詳解vue-element Tree樹形控件填坑路

    這篇文章主要介紹了vue-element Tree樹形控件填坑路,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Vue引入jquery實現(xiàn)平滑滾動到指定位置

    Vue引入jquery實現(xiàn)平滑滾動到指定位置

    這篇文章主要介紹了Vue引入jquery實現(xiàn)平滑滾動到指定位置的效果,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • 詳解基于mpvue的小程序markdown適配解決方案

    詳解基于mpvue的小程序markdown適配解決方案

    本篇文章主要介紹了詳解基于mpvue的小程序markdown適配解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Vue3中引用本地圖片路徑的方法詳解

    Vue3中引用本地圖片路徑的方法詳解

    這篇文章主要為大家詳細(xì)介紹了Vue3中引用本地圖片路徑的常用方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • vue2.0 自定義日期時間過濾器

    vue2.0 自定義日期時間過濾器

    本文給大家?guī)韮煞N方法實現(xiàn)vue2.0 自定義日期時間過濾器,需要的的朋友參考下吧
    2017-06-06
  • vue項目中頁面底部出現(xiàn)白邊及空白區(qū)域錯誤的問題

    vue項目中頁面底部出現(xiàn)白邊及空白區(qū)域錯誤的問題

    這篇文章主要介紹了vue項目中頁面底部出現(xiàn)白邊及空白區(qū)域錯誤的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue實現(xiàn)a標(biāo)簽點擊高亮方法

    vue實現(xiàn)a標(biāo)簽點擊高亮方法

    下面小編就為大家分享一篇vue實現(xiàn)a標(biāo)簽點擊高亮方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue中js實現(xiàn)點擊復(fù)制文本到剪貼板的3種方案

    vue中js實現(xiàn)點擊復(fù)制文本到剪貼板的3種方案

    今天遇到一個復(fù)制粘貼的需求,研究之后發(fā)現(xiàn)太簡單了,這篇文章主要給大家介紹了關(guān)于vue中js實現(xiàn)點擊復(fù)制文本到剪貼板的3種方案,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • solid.js響應(yīng)式createSignal 源碼解析

    solid.js響應(yīng)式createSignal 源碼解析

    這篇文章主要為大家介紹了solid.js響應(yīng)式createSignal 源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Vue.js基礎(chǔ)知識小結(jié)

    Vue.js基礎(chǔ)知識小結(jié)

    本文主要介紹了Vue.js的相關(guān)知識。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01

最新評論

开远市| 镇平县| 自贡市| 治县。| 南召县| 宜都市| 贡觉县| 渭南市| 温泉县| 忻州市| 朝阳县| 吉水县| 鄂州市| 林芝县| 厦门市| 易门县| 高淳县| 河北省| 年辖:市辖区| 井研县| 永年县| 山东省| 津市市| 宾阳县| 清水河县| 阳曲县| 垦利县| 富阳市| 德保县| 许昌县| 清水县| 广水市| 杂多县| 大宁县| 桂阳县| 德安县| 米泉市| 兴山县| 景谷| 高平市| 邛崃市|