vue中使用ts配置的具體步驟
通過前端各個(gè)框架的發(fā)展,例如vue3.0,react和angular等框架的源碼都是用ts(TypeScripe)進(jìn)行編寫的,因此我感覺未來的中大型項(xiàng)目的發(fā)展趨勢(shì)也離不開ts。
因此我根據(jù)一些入門教程利用vue結(jié)合ts編寫了文檔,適合入門配置vue+ts項(xiàng)目。
vue老項(xiàng)目引入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
:擴(kuò)展vue支持typescript,將原有的vue語法通過聲明的方式來支持tsvue-property-decorator
:基于vue-class-component擴(kuò)展更多裝飾器ts-loader
:讓webpack能夠識(shí)別ts文件tslint-loader
:tslint用來約束文件編碼,可裝可不裝,建議最好安裝下,有利于代碼規(guī)范tslint-config-standard
: tslint 配置 standard風(fēng)格的約束,這個(gè)也是用來規(guī)范ts代碼風(fēng)格的
注:這種方式安裝ts是為了將原有的vue項(xiàng)目中Js語法修改為Ts,詳細(xì)步驟參考http://www.dbjr.com.cn/article/230703.htm此文中對(duì)于vue.config.js或者低版本的webpack.base.conf中配置支持ts語法展示不太完全,因此我修改如下:
// 對(duì)于文件插件配置,需要寫在configureWebpack這個(gè)對(duì)象中。 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$/], } } ] } } }
從零開始創(chuàng)建vue+TypeScripe項(xiàng)目
這種方式比較簡(jiǎn)單,只要在用命令vue create app-name創(chuàng)建項(xiàng)目時(shí)選擇自定義就可以創(chuàng)建,如下步驟:
第二步選中上面幾種就行,在終端中利用空格鍵進(jìn)行選中,選中之后回車,選擇項(xiàng)含義如下:
(*) Babel //ES6轉(zhuǎn)ES5 (*) TypeScript //使用ts ( ) Progressive Web App (PWA) Support //漸進(jìn)式Web應(yīng)用 (*) Router //路由 (*) Vuex //狀態(tài)管理 (*) CSS Pre-processors //CSS預(yù)處理 (*) Linter / Formatter //規(guī)范類型 ( ) Unit Testing //測(cè)試 ( ) E2E Testing //測(cè)試
下一步的配置細(xì)節(jié)如下:
Use class-style component syntax? (Y/n) 是否使用class風(fēng)格的組件語法 輸入Y回車 Use Babel alongside TypeScript (required for modern mode, auto-detected polyfills, trans piling JSX)? (Y/n) 是否使用Babel和TypeScript(現(xiàn)代模式、自動(dòng)檢測(cè)多邊形填充、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) 選擇預(yù)處理器模式 我常選擇Sass/SCSS (with node-sass) Pick a linter / formatter config: (Use arrow keys):選擇語法檢測(cè)規(guī)范 一般默認(rèn)第一個(gè)ESLint with error prevention only, 但是使用ts可以選擇TSLint Pick additional lint features: (Press to select, to toggle all, to invert selection) 選擇保存時(shí)檢查 / 提交時(shí)檢查 一般開發(fā)時(shí)選擇第一個(gè)保存時(shí)檢查 Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? (Use arrow keys) 選擇配置信息存放位置,單獨(dú)存放或者并入package.json 一般也是默認(rèn)選擇第一個(gè),插件配置單獨(dú)存放在一個(gè)文件 Save this as a preset for future projects? (y/N) 是否保存為預(yù)設(shè),這樣下次創(chuàng)建項(xiàng)目就不用重新選擇 輸入N回車
以上選項(xiàng)完成后項(xiàng)目就搭建成功了,項(xiàng)目目錄如下:
vue.config.js這個(gè)文件需要自己創(chuàng)建,放在項(xiàng)目根目錄下即可
vue3加ts的配置與基本語法格式
- class-style 是vue中使用了ts的class-style的風(fēng)格,也可以不加
- Babel alongside TypeScript是使用Babel做轉(zhuǎn)義, 與TypeScript一起用于自動(dòng)檢測(cè)
- history是路由是否為哈希模式,這里選否,哈希模式路徑要加#
現(xiàn)在是選擇代碼風(fēng)格檢查和格式化的配置
- ESLint with error prevention only 指僅用于錯(cuò)誤預(yù)防
- ESLint + Airbnb config 指ESLint 和Airbnb代碼規(guī)范
- ESLint + Standard config 指ESLint 和Standard代碼規(guī)范
- ESLint + Prettier 指ESLint 和Prettier代碼規(guī)范
這里先選默認(rèn)ESLint with error prevention only
1是嚴(yán)格模式,代碼格式不規(guī)范也會(huì)報(bào)錯(cuò)
2是除了語法錯(cuò)誤外不會(huì)提示
詢問項(xiàng)目的配置文件存放在哪兒(1是獨(dú)立文件,2是在package.json)這里選擇獨(dú)立的文件,選擇2在后續(xù)配置postcs適配時(shí)存在問題。
這一步是, 是否保存,選是的話會(huì)記住這次的配置
接下來 npm run serve 啟動(dòng)項(xiàng)目就ok了
下面是我寫的一個(gè)小demo
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解VUE 定義全局變量的幾種實(shí)現(xiàn)方式
本篇文章主要介紹了VUE 全局變量的幾種實(shí)現(xiàn)方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06關(guān)于element中對(duì)el-input 自定義驗(yàn)證規(guī)則
這篇文章主要介紹了關(guān)于element中對(duì)el-input 自定義驗(yàn)證規(guī)則,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08Vue2 Element Schema Form 配置式生成表單的實(shí)現(xiàn)
本文主要介紹了Vue2 Element Schema Form 配置式生成表單的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Vue數(shù)據(jù)與事件綁定以及Class和Style的綁定詳細(xì)講解
這篇文章主要介紹了Vue數(shù)據(jù)與事件綁定以及Class和Style的綁定,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01vue在手機(jī)中通過本機(jī)IP地址訪問webApp的方法
這篇文章主要介紹了vue在手機(jī)中通過本機(jī)IP地址訪問webApp的方法,需要的朋友可以參考下2018-08-08