Use typescript

vue add typescript
This commit is contained in:
kPherox
2019-04-08 05:47:07 +09:00
parent 94ee722245
commit 9db4802a06
12 changed files with 266 additions and 19 deletions

View File

@@ -8,8 +8,7 @@
</p>
<h3>Installed CLI Plugins</h3>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
<li><a href="https://www.npmjs.com/package/vue-cli-plugin-typescript" target="_blank" rel="noopener">typescript</a></li>
</ul>
<h3>Essential Links</h3>
<ul>
@@ -30,12 +29,12 @@
</div>
</template>
<script>
export default {
name: 'HelloWorld',
props: {
msg: String
}
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
@Component
export default class HelloWorld extends Vue {
@Prop() private msg!: string;
}
</script>

View File

@@ -1,19 +1,20 @@
<template>
<div id="app">
<img alt="Vue logo" src="@/assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
<HelloWorld msg="Welcome to Your Vue.js + TypeScript App"/>
</div>
</template>
<script>
import HelloWorld from '@/components/HelloWorld.vue'
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import HelloWorld from '@/components/HelloWorld.vue';
export default {
name: 'app',
@Component({
components: {
HelloWorld
}
}
HelloWorld,
},
})
export default class App extends Vue {}
</script>
<style>

13
src/shims-tsx.d.ts vendored Normal file
View File

@@ -0,0 +1,13 @@
import Vue, { VNode } from 'vue'
declare global {
namespace JSX {
// tslint:disable no-empty-interface
interface Element extends VNode {}
// tslint:disable no-empty-interface
interface ElementClass extends Vue {}
interface IntrinsicElements {
[elem: string]: any
}
}
}

4
src/shims-vue.d.ts vendored Normal file
View File

@@ -0,0 +1,4 @@
declare module '*.vue' {
import Vue from 'vue'
export default Vue
}