vue中使用ts配置的具體步驟
通過前端各個框架的發展,例如vue3.0,react和angular等框架的源碼都是用ts(TypeScripe)進行編寫的,因此我感覺未來的中大型項目的發展趨勢也離不開ts。
因此我根據一些入門教程利用vue結合ts編寫瞭文檔,適合入門配置vue+ts項目。
vue老項目引入TypeScripe
npm install vue-class-component vue-property-decorator --save npm install ts-loader typescript tslint tslint-loader tslint-config-standard --save-dev
vue-class-component
:擴展vue支持typescript,將原有的vue語法通過聲明的方式來支持tsvue-property-decorator
:基於vue-class-component擴展更多裝飾器ts-loader
:讓webpack能夠識別ts文件tslint-loader
:tslint用來約束文件編碼,可裝可不裝,建議最好安裝下,有利於代碼規范tslint-config-standard
: tslint 配置 standard風格的約束,這個也是用來規范ts代碼風格的
註:這種方式安裝ts是為瞭將原有的vue項目中Js語法修改為Ts,詳細步驟參考https://www.jb51.net/article/230703.htm此文中對於vue.config.js或者低版本的webpack.base.conf中配置支持ts語法展示不太完全,因此我修改如下:
// 對於文件插件配置,需要寫在configureWebpack這個對象中。 module.exports = { configureWebpack: { resolve: { extensions: [".ts", ".tsx", ".js", ".json"] }, module: { rules: [ { test: /\.ts$/, exclude: /node_modules/, enforce: 'pre', loader: 'tslint-loader' }, { test: /\.tsx?$/, loader: 'ts-loader', exclude: /node_modules/, options: { appendTsSuffixTo: [/\.vue$/], } } ] } } }
從零開始創建vue+TypeScripe項目
這種方式比較簡單,隻要在用命令vue create app-name創建項目時選擇自定義就可以創建,如下步驟:
第二步選中上面幾種就行,在終端中利用空格鍵進行選中,選中之後回車,選擇項含義如下:
(*) Babel //ES6轉ES5 (*) TypeScript //使用ts ( ) Progressive Web App (PWA) Support //漸進式Web應用 (*) Router //路由 (*) Vuex //狀態管理 (*) CSS Pre-processors //CSS預處理 (*) Linter / Formatter //規范類型 ( ) Unit Testing //測試 ( ) E2E Testing //測試
下一步的配置細節如下:
Use class-style component syntax? (Y/n) 是否使用class風格的組件語法 輸入Y回車 Use Babel alongside TypeScript (required for modern mode, auto-detected polyfills, trans piling JSX)? (Y/n) 是否使用Babel和TypeScript(現代模式、自動檢測多邊形填充、trans所需(JSX) 輸入Y回車 Use history mode for router? (Requires proper server setup for index fallback in product ion) (Y/n) 是否使用history路由模式 輸入N回車 Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default) 選擇預處理器模式 我常選擇Sass/SCSS (with node-sass) Pick a linter / formatter config: (Use arrow keys):選擇語法檢測規范 一般默認第一個ESLint with error prevention only, 但是使用ts可以選擇TSLint Pick additional lint features: (Press to select, to toggle all, to invert selection) 選擇保存時檢查 / 提交時檢查 一般開發時選擇第一個保存時檢查 Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? (Use arrow keys) 選擇配置信息存放位置,單獨存放或者並入package.json 一般也是默認選擇第一個,插件配置單獨存放在一個文件 Save this as a preset for future projects? (y/N) 是否保存為預設,這樣下次創建項目就不用重新選擇 輸入N回車
以上選項完成後項目就搭建成功瞭,項目目錄如下:
vue.config.js這個文件需要自己創建,放在項目根目錄下即可
vue3加ts的配置與基本語法格式
- class-style 是vue中使用瞭ts的class-style的風格,也可以不加
- Babel alongside TypeScript是使用Babel做轉義, 與TypeScript一起用於自動檢測
- history是路由是否為哈希模式,這裡選否,哈希模式路徑要加#
現在是選擇代碼風格檢查和格式化的配置
- ESLint with error prevention only 指僅用於錯誤預防
- ESLint + Airbnb config 指ESLint 和Airbnb代碼規范
- ESLint + Standard config 指ESLint 和Standard代碼規范
- ESLint + Prettier 指ESLint 和Prettier代碼規范
這裡先選默認ESLint with error prevention only
1是嚴格模式,代碼格式不規范也會報錯
2是除瞭語法錯誤外不會提示
詢問項目的配置文件存放在哪兒(1是獨立文件,2是在package.json)這裡選擇獨立的文件,選擇2在後續配置postcs適配時存在問題。
這一步是, 是否保存,選是的話會記住這次的配置
接下來 npm run serve 啟動項目就ok瞭
下面是我寫的一個小demo
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- vue中使用typescript配置步驟
- vue3.0項目快速搭建的完整步驟記錄
- Vue腳手架學習之項目創建方式
- vue項目的創建的步驟(圖文教程)
- vue項目中使用ts(typescript)入門教程