vue+ts搭建工程


1.安裝必要的插件

npm i vue-class-component vue-property-decorator --save
npm i ts-loader typescript tslint tslint-loader tslint-config-standard --save-dev

2.配置webpack修改webpack.base.conf.js文件

entry: {
    app: './src/main.ts' // main.js->main.ts
  },
resolve: {
    extensions: ['.js', '.vue', '.json', '.ts'],  // 增加.ts
    alias: {
      '@': resolve('src')
    }
  }

module.rules里增加如下配置

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

3. 在src下面創建vue.shim.d.ts文件

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

4. 添加tsconfig.json文件   運行: tsc --init 

如果沒有全局安裝ts,就先安裝一下: npm install -g typescript

一個模板tsconfig.json例子

{
  "include":[
    "src/**/*",
    "vue.shim.d.ts"
  ],
  "exclude":["node_modules"],
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "lib": [
      "dom",
      "es5",
      "es2015.promise"
    ],
    "allowJs": true,
    "strict": true,
    "baseUrl": "./",
    "paths": {
      "@/*":["src/*"]
    },
    "esModuleInterop": true,
    "experimentalDecorators": true,
  }
}

5.然后再去把src下面的js文件改成tswenjian

6.在index.ts跟main.ts文件里面把引入vue文件的引入路徑的.vue后綴加上

7.修改vur文件例子

<script lang="ts">
  import { Vue, Component } from 'vue-property-decorator'

  @Component
  export default class App extends Vue {
    // 初始化數據
    msg = 123

    // 生命周期鈎子
    mounted () {
      this.greet()
    }

    // 計算屬性
    get computedMsg () {
      return 'computed ' + this.msg
    }

    // 方法
    greet () {
      alert('greeting: ' + this.msg)
    }
  }
</script>

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM