国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

vue cli4.0項(xiàng)目引入typescript的方法

瀏覽:2日期:2023-01-05 14:35:59

現(xiàn)有的項(xiàng)目是采用vue cli4.0腳手架生成的,現(xiàn)在想要引入typescript。

1.執(zhí)行安裝命令

npm install --save-dev typescriptnpm install --save-dev @vue/cli-plugin-typescript

2.根目錄下新建 tsconfig.json

{ 'compilerOptions': { 'target': 'esnext', 'module': 'esnext', 'strict': true, 'importHelpers': true, 'moduleResolution': 'node', 'experimentalDecorators': true, 'esModuleInterop': true, 'allowSyntheticDefaultImports': true, 'sourceMap': true, 'baseUrl': '.', 'allowJs': false, 'noEmit': true, 'types': ['webpack-env'], 'paths': { '@/*': ['src/*'] }, 'lib': ['esnext', 'dom', 'dom.iterable', 'scripthost'] }, 'exclude': ['node_modules']}

3.新增 shims-vue.d.ts根目錄下新建 shims-vue.d.ts,讓 ts 識(shí)別 *.vue 文件,文件內(nèi)容如下:

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

4.修改入口文件后綴

src/main.js => src/main.ts

5.改造 .vue 文件

src/main.js => src/main.ts

加上 lang=ts 可以讓webpack識(shí)別此段代碼為 typescript

6.使用裝飾器插件

vue-class-component:強(qiáng)化 Vue 組件,使用 TypeScript裝飾器 增強(qiáng) Vue 組件,使得組件更加扁平化vue-property-decorator:在 vue-class-component 上增強(qiáng)更多的結(jié)合 Vue 特性的裝飾

Demo:

import { Vue, Component ,Watch} from ’vue-property-decorator’;@Component({ components: { Loading }})export default class App extends Vue{ old_back:object=null, transitionName:string = 'slide-right'; get ...mapState('base', ['loadingStatus']); @Watch(’$route’) onChangeValue(to:object, from:object){ // console.log(’$route’, to, from) const noBack = to.meta.noBack; // 監(jiān)聽路由變化時(shí)的狀態(tài)為前進(jìn)還是后退 // 去終節(jié)點(diǎn)左,從終節(jié)點(diǎn)過來右 if (to.meta.last) { this.transitionName = 'slide-left'; } else if (from.meta.last) { this.transitionName = 'slide-right'; } else if (from.meta.leaf) { // 從其它葉子頁面過來的,往右 this.transitionName = 'slide-right'; } else { if (noBack) { // 去到不需要返回的界面往右 this.transitionName = 'slide-right'; } else { this.transitionName = 'slide-left'; } } } @Watch(’loadingStatus’) onChangeValue(newVal: string){ if (newVal) { setTimeout(_ => { this.setLoading(false); }, 1500); } } // 彈出系統(tǒng)提示對話框 showAlert(msg:string) { plus.nativeUI.alert( msg, function() { // console.log('User pressed!'); }, '報(bào)警詳情', '確定' ); }}

到此這篇關(guān)于vue cli4.0項(xiàng)目引入typescript的文章就介紹到這了,更多相關(guān)vue cli4.0引入typescript內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 柏乡县| 成武县| 宁化县| 渭源县| 舟山市| 南陵县| 太保市| 武乡县| 海伦市| 广宗县| 于田县| 莱阳市| 营山县| 莱阳市| 同德县| 伊宁县| 德格县| 汾西县| 望城县| 静乐县| 福鼎市| 桂阳县| 洛川县| 佛山市| 叙永县| 孟津县| 建湖县| 扶沟县| 安义县| 边坝县| 鄂州市| 宣化县| 陕西省| 自治县| 德州市| 闸北区| 仁怀市| 通化县| 吉安市| 岗巴县| 宁乡县|