VueCli3构建TS项目的方法步骤

2020-06-14 06:18:51易采站长站整理
对应路由表中的
children
路由

router 中的meta

配置每个路由的单独特性

title
,
keepalive
,
main
,
desc
,
icon
,
hidden
,
auth

keep-alive

vue中的

<keep-alive></keep-alive>
其它生命周期不执行,只执行:
activated
deactivated

axios改造

npm i axios --save

typings

在根目录创建

typings
文件,里面定义, 全局注入。

需要哪些接口引入哪些接口文件。

创建

ajax.d.ts
文件,并声明后台返回的数据格式。


declare namespace Ajax {
// axios return data
export interface AxiosResponse {
data: AjaxResponse
}

// reqposne interface
export interface AjaxResponse {
id: number
error: null | object
jsonrpc: string
result: any
}
}

使用,在

src
根目录下都可以使用。


let res: Ajax.AxiosResponse = {
data: {"id": "1533610056745", "result": 1, "error": null, "jsonrpc": "2.0"}
}

cookies的处理

安装cookies的包:

npm i js-cookie --save

增加项目前缀,封装cookie, localStorage, sessionStorage 增删改等方法


/**
* 操作 cookie, localStorage, sessionStorage 封装
*/
import Cookies from 'js-cookie'
import { isNil } from 'lodash'

const prefix = process.env.VUE_APP_PREFIX

/**
* ============ Cookie ============
*/

export function getCookie (name: string): string {
return Cookies.get(prefix + name)
}

export function setCookie (name: string, value: any, params= {}): void {
if (isEmpty(value)) return
Cookies.set(prefix + name, value, params)
}

export function removeCookie (name: string, params= {}): void {
Cookies.remove(prefix + name, params)
}

/**
* ============ localStorage ============
*/

export function setLocalStorage (name: string, value: any): void {