feat(vue3): add ts template

This commit is contained in:
fxy060608
2020-12-02 17:55:03 +08:00
parent 22a973c5c0
commit 87b2cfbd0a
10 changed files with 67 additions and 63 deletions
+1 -2
View File
@@ -36,8 +36,7 @@ module.exports = (api, options, rootOptions) => {
return {
dependencies: {
'regenerator-runtime': '^0.12.1',// 锁定版本,避免高版本在小程序中出错
'@dcloudio/uni-helper-json': '*',
'vuex': '^4.0.0-beta.4'
'@dcloudio/uni-helper-json': '*'
},
devDependencies: {
'postcss-comment': '^2.0.0',
+1
View File
@@ -1,4 +1,5 @@
{
"vueVersion": "3",
"useConfigFiles": false,
"plugins": {
"@dcloudio/vue-cli-plugin-uni": {
+3
View File
@@ -5,6 +5,9 @@ module.exports = [{
choices: [{
name: '默认模板',
value: 'default'
},{
name: '默认模板(TypeScript)',
value: 'default-ts'
}
],
default: 'None'
+5 -5
View File
@@ -1,7 +1,8 @@
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
mpType: 'app',
import {
defineComponent
} from 'vue'
export default defineComponent({
onLaunch() {
console.log('App Launch')
},
@@ -11,9 +12,8 @@
onHide() {
console.log('App Hide')
}
});
})
</script>
<style>
/*每个页面公共css */
</style>
+2 -4
View File
@@ -1,6 +1,4 @@
import Vue from 'vue'
import { createApp } from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
new App().$mount()
createApp(App).mount('#app')
+25 -27
View File
@@ -1,41 +1,39 @@
<template>
<view class="content">
<view class="content">
<image class="logo" src="../../static/logo.png"></image>
<view>
<text class="title">{{title}}</text>
<view>
<text class="title">{{ title }}</text>
</view>
</view>
</view>
</template>
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
data() {
return {
title: 'Hello'
}
},
onLoad() {
},
methods: {
}
});
import {
defineComponent
} from "vue";
export default defineComponent({
setup() {
return {
title: "hello",
};
},
});
</script>
<style>
.content {
text-align: center;
height: 400upx;
}
.logo{
.content {
text-align: center;
height: 400upx;
}
.logo {
height: 200upx;
width: 200upx;
margin-top: 200upx;
}
.title {
font-size: 36upx;
color: #8f8f94;
}
.title {
font-size: 36upx;
color: #8f8f94;
}
</style>
-4
View File
@@ -1,4 +0,0 @@
declare module "*.vue" {
import Vue from 'vue'
export default Vue
}
+5
View File
@@ -0,0 +1,5 @@
declare module "*.vue" {
import type { DefineComponent } from "vue";
const component: DefineComponent<{}, {}, any>;
export default component;
}
+5
View File
@@ -0,0 +1,5 @@
import "vue";
declare module "vue" {
type Hooks = App.AppInstance & Page.PageInstance;
interface ComponentCustomOptions extends Hooks {}
}
+8 -9
View File
@@ -1,14 +1,13 @@
<script>
import {
onLaunch,
onShow,
onHide
} from 'vue'
export default {
setup() {
onLaunch(() => console.log('App Launch'))
onShow(() => console.log('App Show'))
onHide(() => console.log('App Hide'))
onLaunch() {
console.log('App Launch')
},
onShow() {
console.log('App Show')
},
onHide() {
console.log('App Hide')
}
}
</script>