本文主要作为平时在 TypeScript 代码中编写类型以及对 TypeScript 代码进行 review 时候的参考手册,并非强制执行的规范,也不涉及纯代码风格以及代码逻辑上的指导。
本文内容参考了下面几个手册,所以强烈建议能够同时阅读完这几个手册。如果大家对 TypeScript 的一些基础用法和特性还不熟悉,也建议先阅读第一个 TypeScript 手册。
npm set registry https://registry.npm.taobao.org # 注册模块镜像 | |
npm set disturl https://npm.taobao.org/dist # node-gyp 编译依赖的 node 源码镜像 | |
## 以下选择添加 | |
npm set chromedriver_cdnurl http://cdn.npm.taobao.org/dist/chromedriver # chromedriver 二进制包镜像 | |
npm set operadriver_cdnurl http://cdn.npm.taobao.org/dist/operadriver # operadriver 二进制包镜像 | |
npm set phantomjs_cdnurl http://cdn.npm.taobao.org/dist/phantomjs # phantomjs 二进制包镜像 | |
npm set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass # node-sass 二进制包镜像 | |
npm set electron_mirror http://cdn.npm.taobao.org/dist/electron/ # electron 二进制包镜像 |
/** | |
* 过滤掉不受支持的emoji表情 | |
* @param str | |
* @returns {*} | |
*/ | |
export function replaceUndisplayEmoji (str) { | |
if (!str) return str | |
return str.replace(/[\ue000-\ue537]/g, '') | |
} |
const path = require('path') | |
function resolve(dir) { | |
return path.join(__dirname, '.', dir) | |
} | |
module.exports = { | |
baseUrl: './', | |
productionSourceMap: false, | |
chainWebpack: config => { |
export default function historyManage (store, router) { | |
store.registerModule('transition', { | |
state: { | |
direction: '' | |
}, | |
mutations: { | |
UPDATE_DIRECTION (state, direction) { | |
state.direction = direction | |
} | |
} |
<template> | |
<div class="cpq-ui"> | |
<transition :name="'cpq-router-' + routerDirection" :css="!!routerDirection"> | |
<router-view class="cpq-router-view"></router-view> | |
</transition> | |
</div> | |
</template> | |
<script> | |
import router from './router' |
git config --global https.proxy http://127.0.0.1:1080 | |
git config --global https.proxy https://127.0.0.1:1080 | |
git config --global --unset http.proxy | |
git config --global --unset https.proxy | |
npm config delete proxy |
interface ResponseData { | |
code: -1 | 0 | 1 | |
msg: string | |
data: any | |
} | |
function getData(timeout: number) { | |
return Promise.race([ | |
new Promise<ResponseData>((resolve, reject) => { |
import { | |
Autobind, | |
Component, | |
ComponentProps, | |
Computed, | |
Hook, | |
Mut, | |
VueComponent, | |
VueService, | |
} from 'vue3-oop' |
# global config | |
# init config | |
init-author-name = blackcater | |
init-author-email = i@blackcater.dev | |
init-author-url = https://blackcater.com | |
# git tag message | |
message = "chore: version bump to v%s" |