TypeScript(ts)學(xué)習(xí)筆記(一):環(huán)境搭建及配置

安裝TypeScript

如果你的本地環(huán)境已經(jīng)安裝了npm工具,可以直接通過以下命令安裝:

# 全局安裝 TypeScript
npm i -g typescript 

查看TypeScript是否安裝成功苛茂,輸入以下命令已烤,顯示版本號則安裝成功:

tsc -v 
# Version 3.5.3

初始化目錄:

npm init
tsc --init

配置文件

執(zhí)行初始化命令之后,目錄下會多出一個(gè)配置文件tsconfig.json妓羊,可以在其中進(jìn)行自定義配置:

{
  "compilerOptions": {
    /* Basic Options */
    // "incremental": true,                   /* TS編譯器在第一次編譯之后會生成一個(gè)存儲編譯信息的文件胯究,第二次編譯會在第一次的基礎(chǔ)上進(jìn)行增量編譯,可以提高編譯的速度 */
    "target": "es5",                          /* 目標(biāo)語言的版本 */
    "module": "commonjs",                     /* 生成代碼的模板標(biāo)準(zhǔn) */
    // "lib": ["ES2019.Array"],               /* TS需要引用的庫躁绸,即聲明文件裕循,es5 默認(rèn)引用dom、es5净刮、scripthost,如需要使用es的高級版本特性剥哑,通常都需要配置,如es8的數(shù)組新特性需要引入"ES2019.Array" */
    // "allowJs": true,                       /* 允許編譯器編譯JS庭瑰,JSX文件 */
    // "checkJs": true,                       /* 允許在JS文件中報(bào)錯(cuò)星持,通常與allowJS一起使用. */
    // "declaration": true,                   /* 開啟后會自動(dòng)生成聲明文件 */
    // "declarationMap": true,                /* 聲明文件存放目錄 */
    // "sourceMap": true,                     /* 編譯成 js 文件的時(shí)候,同時(shí)生成對應(yīng)的 map 文件 */
    // "outFile": "./",                       /* 將多個(gè)相互依賴的文件生成一個(gè)文件弹灭,可以用在AMD模塊中督暂,即開啟時(shí)應(yīng)設(shè)置"module": "AMD", */
    // "outDir": "./",                        /* 輸出目錄*/
    // "rootDir": "./",                       /* 指定輸出文件目錄(用于輸出),用于控制輸出目錄結(jié)構(gòu) */
    // "removeComments": true,                /* 刪除注釋 */
    // "noEmit": true,                        /* 不輸出文件,即編譯后不會生成任何js文件*

    /* Strict Type-Checking Options */
    "strict": true,                           /* 嚴(yán)格模式*/
    // "noImplicitAny": true,                 /* 不允許隱式的any類型*/
    // "strictNullChecks": true,              /* 不允許把null穷吮、undefined賦值給其他類型的變量 */
    // "strictBindCallApply": true,           /* 嚴(yán)格的bind/call/apply檢查 */
    // "strictPropertyInitialization": true,  /* 類的實(shí)例屬性必須初始化*/
    // "noImplicitThis": true,                /* 不允許this有隱式的any類型*/
    // "alwaysStrict": true,                  /*  在代碼中注入'use strict' */

    /* Additional Checks */
    // "noUnusedLocals": true,                /* 檢查只聲明逻翁、未使用的局部變量(只提示不報(bào)錯(cuò)) */

    /* Module Resolution Options */
    // "baseUrl": "./",                       /* 解析非相對模塊的基地址,默認(rèn)是當(dāng)前目錄 */
    // "paths": {},                           /* 路徑映射捡鱼,相對于baseUrl*/
    // "rootDirs": [],                        /* 定義輸入文件根目錄 */
    // "typeRoots": [],                       /* 定義文件的文件夾位置 */
    // "types": [],                           /* 設(shè)置引入的定義文件 */
    // "allowSyntheticDefaultImports": true,  /* 允許引入沒有默認(rèn)導(dǎo)出的模塊 */

    /* Source Map Options */
    // "sourceRoot": "",                      /* 調(diào)試時(shí)源碼位置 */
    // "mapRoot": "",                         /* 定義 source map 的存放位置 */
    // "inlineSourceMap": true,               /* 將 source map 一同生成到輸出文件中 */
    // "inlineSources": true,                 /* 將 ts 源碼生成到 source map 中八回,需要同時(shí)設(shè)置 inlineSourceMap 或 sourceMap */

    /* Experimental Options */
    // "experimentalDecorators": true,        /* 允許注解語法*/
  }
}

編寫第一個(gè)TypeScript程序

在項(xiàng)目目錄下新建一個(gè)test.ts文件,輸入以下代碼:

function say(person:string) {
  console.log(person+': hello world');
}
const person1:string = "zhangsan"
say(person1)

執(zhí)行以下命令:

tsc test.ts

執(zhí)行完之后會在當(dāng)前目錄下生成一個(gè)test.js文件,使用node來執(zhí)行js代碼:

node test.js
# zhangsan: hello world
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缠诅,一起剝皮案震驚了整個(gè)濱河市溶浴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌管引,老刑警劉巖士败,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異褥伴,居然都是意外死亡谅将,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門重慢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饥臂,“玉大人,你說我怎么就攤上這事似踱∮缥酰” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵屯援,是天一觀的道長猛们。 經(jīng)常有香客問我念脯,道長狞洋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任绿店,我火速辦了婚禮吉懊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘假勿。我一直安慰自己借嗽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布转培。 她就那樣靜靜地躺著恶导,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浸须。 梳的紋絲不亂的頭發(fā)上惨寿,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機(jī)與錄音删窒,去河邊找鬼裂垦。 笑死,一個(gè)胖子當(dāng)著我的面吹牛肌索,可吹牛的內(nèi)容都是我干的蕉拢。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼晕换!你這毒婦竟也來了午乓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤闸准,失蹤者是張志新(化名)和其女友劉穎硅瞧,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體恕汇,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腕唧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瘾英。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枣接。...
    茶點(diǎn)故事閱讀 40,488評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖缺谴,靈堂內(nèi)的尸體忽然破棺而出但惶,到底是詐尸還是另有隱情,我是刑警寧澤湿蛔,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布膀曾,位于F島的核電站,受9級特大地震影響阳啥,放射性物質(zhì)發(fā)生泄漏添谊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一察迟、第九天 我趴在偏房一處隱蔽的房頂上張望斩狱。 院中可真熱鬧,春花似錦扎瓶、人聲如沸所踊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秕岛。三九已至,卻和暖如春误证,著一層夾襖步出監(jiān)牢的瞬間继薛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工雷厂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惋增,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓改鲫,卻偏偏與公主長得像诈皿,于是被迫代替她去往敵國和親林束。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評論 2 359