### 插件
```
npm i ts-loader typescript -D
```
### 添加`ts-loader`規則
```js
{
test: /\.tsx?$/,
loader: 'ts-loader',
exclude: /node_modules/,
options: {
appendTsSuffixTo: [/\.vue$/],
}
}
```
### 新建`vue-shims.d.ts`識別單文件vue內的ts代碼
```
// 【注】必須在tsconfig.json中配置typeRoots來讀取該配置文件,
// 否則vue文件模塊無法讀取
declare module "*.vue" {
import Vue from "vue"
export default Vue
}
```
### 項目根目錄新建`tsconfig.json`
```js
{
"include": ["src/*", "src/**/*"],
"exclude": ["node_modules"],
"compilerOptions": {
"strictPropertyInitialization": false,
// types option has been previously configured
"types": [
// add node as an option
"node"
],
// typeRoots option has been previously configured
"typeRoots": [
// add path to @types
"node_modules/@types",
"./src/typings"
],
// 以嚴格模式解析
"strict": true,
// 在.tsx文件里支持JSX
"jsx": "preserve",
// 使用的JSX工廠函數
"jsxFactory": "h",
// 允許從沒有設置默認導出的模塊中默認導入
"allowSyntheticDefaultImports": true,
// 啟用裝飾器
"experimentalDecorators": true,
"strictFunctionTypes": false,
// 允許編譯javascript文件
"allowJs": true,
// 采用的模塊系統
"module": "esnext",
// 編譯輸出目標 ES 版本
"target": "es5",
// 如何處理模塊
"moduleResolution": "node",
// 在表達式和聲明上有隱含的any類型時報錯
"noImplicitAny": true,
"lib": ["dom", "es5", "es6", "es7", "es2015.promise"],
"sourceMap": true,
"pretty": true
}
}
```
### 參考
1. [https://blog.csdn.net/u014633852/article/details/73706459](https://blog.csdn.net/u014633852/article/details/73706459)
2. [https://segmentfault.com/a/1190000011744210?utm_source=tuicool&utm_medium=referral](https://segmentfault.com/a/1190000011744210?utm_source=tuicool&utm_medium=referral)
- 前端
- C1-Javascript
- H5圖片分塊和斷點續傳
- JavascriptPatterns[Stoyanstefanov]
- macotask和microtask
- 前端代碼生成器
- 跨域
- 頁面回到頂部滾動按鈕實現
- C2-CSS
- 瀏覽器的一些單位
- 盒模型
- 移動端判斷橫豎屏
- C3-框架
- ReactNative
- 開發環境搭建(安卓篇)
- Vue
- vue+pdfjs使用
- vue+typescript使用實踐
- vue+webpack3.x集成typescript
- Vue源碼3
- vue源碼分析1
- vue源碼分析2
- vue筆記
- C4-工具
- git
- Gitlab-CICD
- mock規則
- vscode-settings
- webpack自定義命令,切換代理地址
- 正則表達式
- 深入淺出webpack
- C5-Node
- express
- express源碼閱讀
- nightmare使用指南
- 爬蟲1.0
- C6-微信
- 微信
- C7-Canvas
- 基礎API
- 前端隨筆筆記
- 后端
- C1-Java
- shiro
- C2-Linux
- ffmpeg
- ITerm
- Linux
- MongoDB安裝
- MySql安裝
- Ngnix反向代理
- 常見錯誤
- 備忘
- mac
- 備忘-Work
- 備忘Link
- 服務器資源
- 教程
- Hexo個人博客搭建筆錄
- 文檔
- CSS編碼規范
- 前端編碼規范
- 隨筆
- 整理
- 正則
- 鏈接收藏
- 面試
- CodeWars題庫
- CodeWars題庫(二)
- Java社招面試題
- Java面試
- Web面試
- 前端筆試題
- 筆試題