中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

Prettier 1.0:您不再需要浪費(fèi)時(shí)間來格式化代碼

發(fā)布于:2021-01-16 13:38:04

0

101

0

javascript Prettier

Prettier可能一開始只是個(gè)實(shí)驗(yàn),但自動(dòng)格式化的成功已經(jīng)說服了很多人來嘗試一下。這個(gè)JavaScript格式化程序的1.0版本在這里,它帶來了禮物。

Prettier是在2017年初發(fā)布的,現(xiàn)在1.0已經(jīng)發(fā)布了。根據(jù)宣布發(fā)布的博客文章,這個(gè)JavaScript格式化程序的靈感來自refmt,它對ES2017、JSX和Flow的語言特性提供了高級支持。簡而言之,它消除了所有原始樣式,并通過將JavaScript解析為AST并漂亮地打印AST來保證一致性。

Shift Reset LLC的James Long提供了一個(gè)例子:

//                                           60 chars -->   | function makeComponent() : int {   return {     longCall() {       complicatedFunction(importantArgument(), secondaryArgument())       weirdStyle({ prop: 1 },         1, 2, 3);     },     render() {       const user = {         name: "James"       };       return <div>         hello ${name}! JSX is <strong>supported</strong>       </div>   ;     }   }; }
/                                           60 chars -->   | function makeComponent(): int {   return {     longCall() {       complicatedFunction(         importantArgument(),         secondaryArgument()       );       weirdStyle({ prop: 1 }, 1, 2, 3);     },     render() {       const user = { name: "James" };       return (           <div>            hello ${name}! JSX is <strong>supported</strong>         </div>         );     }   }; }

從該示例可以看到,您可以在編輯器中鍵入任何內(nèi)容,它將自動(dòng)設(shè)置其格式。這里的最大行長是60。頂部的編輯器是原始源,底部的是格式化版本。

Prettier 1.0: 概述

pretty tier現(xiàn)在可以安全地用于生產(chǎn)。

這個(gè)工具是一個(gè)固執(zhí)己見的代碼格式化器;盡管團(tuán)隊(duì)最初認(rèn)為沒有像gofmt或refmt這樣的配置是可行的,但他們意識(shí)到“這將會(huì)損害對prettier的采用,而那些本可以從中受益的人也不會(huì)使用它,因?yàn)樗鼪]有按照他們想要的方式打印代碼?!?/span>

因此,他們決定提供關(guān)于語法基本方面的選項(xiàng),其本質(zhì)是“如果它不能做X,無論它有多好,我都不會(huì)使用它”。

他們不會(huì)為每一種類型的語法都引入選項(xiàng)(只針對更有影響力的東西),但他們已經(jīng)確定了兩個(gè)主要的選項(xiàng)屬于這一類別:制表符vs空格符和semi vs no-semi,所以他們決定把它們添加到更漂亮的語法中。

// Before if (1) { ··console.log(); // Two spaces }   // After if (1) { ? console.log(); // One Tab! }
// Before console.log(); [1, 2, 3].map(x => x + 1);   // After console.log() ;[1, 2, 3].map(x => x + 1)

事情的變化

根據(jù)宣布發(fā)布的博客文章,“來自AST的打印有利有弊的是,我們不得不重新打印程序中的所有括號(hào)。我們過去的立場是只打印程序有效所需的最小數(shù)量的括號(hào),并以相同的方式執(zhí)行。”

現(xiàn)在,我們愿意添加一些并不嚴(yán)格需要的括號(hào),但可以幫助人們理解代碼。

盡管在一些情況下,工具輸出的代碼是> 80列,但有可能不使用這種方法編寫代碼,您需要做的只是仔細(xì)尋找可能出錯(cuò)的地方,并確保它不會(huì)對常見情況產(chǎn)生負(fù)面影響。