京東風(fēng)格的移動(dòng)端Vue組件庫(kù)NutUI2.0來(lái)啦

移動(dòng)端 Vue 組件庫(kù) NutUI 自發(fā)布以來(lái)受到了廣泛的關(guān)注渺贤。據(jù)不完全統(tǒng)計(jì),目前至少有30多個(gè)京東的 web 項(xiàng)目正在使用 NutUI 脑漫。

京東風(fēng)格的移動(dòng)端Vue組件庫(kù)NutUI2.0來(lái)啦

經(jīng)過(guò)一段時(shí)間緊鑼密鼓的開(kāi)發(fā)秸仙,近期,京東正式發(fā)布了 NutUI 的 2.0 版胜榔。NutUI 2.0 定位于一個(gè)京東風(fēng)格的移動(dòng)端精品組件庫(kù)胳喷,并不是 NutUI 1.x 的簡(jiǎn)單升級(jí)版。

NutUI 官網(wǎng)同步進(jìn)行了改版夭织,也歡迎大家訪問(wèn) https://nutui.jd.com ( PC 端)吭露。

我們來(lái)看看 NutUI 2.0 有哪些重要的新特性。

京東APP 7.0 視覺(jué)風(fēng)格

NutUI 2.0 的組件在開(kāi)發(fā)時(shí)參考了京東APP 7.0 視覺(jué)規(guī)范尊惰,統(tǒng)一了視覺(jué)風(fēng)格和動(dòng)效讲竿。

京東風(fēng)格的移動(dòng)端Vue組件庫(kù)NutUI2.0來(lái)啦

如果與你需要的風(fēng)格有差異,還可以通過(guò)增加一個(gè)自定義 class 來(lái)調(diào)整樣式弄屡。如果差異較大题禀,甚至可以替換掉整個(gè)組件的默認(rèn)樣式文件。你的組件膀捷,你做主迈嘹。

定制主題

NutUI 2.0 支持自定義組件庫(kù)整體主題風(fēng)格。通過(guò)在項(xiàng)目中重置一些樣式變量的值全庸,可輕而易舉的實(shí)現(xiàn)組件換膚秀仲。

京東風(fēng)格的移動(dòng)端Vue組件庫(kù)NutUI2.0來(lái)啦

按需加載

NutUI 1.x 的按需加載是通過(guò)自定義構(gòu)建的方式來(lái)實(shí)現(xiàn)的,雖可滿足需求壶笼,但是讓用戶每次都進(jìn) node_modules 目錄下找到 NutUI 項(xiàng)目目錄安裝依賴啄育,再進(jìn)行自定義構(gòu)建多有不便。于是 2.0 版我們對(duì)按需加載功能進(jìn)行了重新設(shè)計(jì)拌消。

使用 NutUI 2.0 的組件時(shí)挑豌,不必導(dǎo)入完整的組件庫(kù)安券,直接在項(xiàng)目中引入我們需要的組件文件及其對(duì)應(yīng)的樣式文件即可。如:

import Button from '@nutui/nutui/dist/packages/button/button.js';
import Switch from '@nutui/nutui/dist/packages/switch/switch.js';
import '@nutui/nutui/dist/packages/button/button.css';
import '@nutui/nutui/dist/packages/Switch/switch.css';

不需要再進(jìn)行自定義構(gòu)建了氓英,比 NutUI 1.x 方便不少吧侯勉。如果你覺(jué)得這種方式還不夠方便或者不夠優(yōu)雅,也沒(méi)關(guān)系铝阐,通過(guò)我們提供的 webpack 插件 @nutui/babel-plugin-separate-import 址貌,還可以支持 ES6module 風(fēng)格的按需加載寫法,且兼容不支持 ES6module 語(yǔ)法的瀏覽器:

import { Button, Icon } from '@nutui/nutui';

安裝插件也麻煩徘键?不妨試試我們提供的一個(gè) Vue 項(xiàng)目的構(gòu)建工具 Gaea-cli练对,它可以生成一個(gè)已內(nèi)置了這個(gè)插件的 Vue 模板工程,你可以直接基于這個(gè)工程開(kāi)發(fā)項(xiàng)目吹害。另外螟凭,這個(gè)構(gòu)建工具還有很多高級(jí)功能,以及針對(duì)我廠開(kāi)發(fā)環(huán)境進(jìn)行的特定優(yōu)化它呀,此前的系列版本已經(jīng)過(guò)數(shù)十個(gè)項(xiàng)目的驗(yàn)證螺男,推薦大家使用。

國(guó)際化

NutUI 2.0 開(kāi)始支持多語(yǔ)言纵穿。組件默認(rèn)使用中文下隧,可加載其他語(yǔ)言包來(lái)實(shí)現(xiàn)多語(yǔ)言切換功能。如果你的項(xiàng)目中已經(jīng)使用了目前 Vue 生態(tài)里特別流行的國(guó)際化插件 vue-i18n 來(lái)實(shí)現(xiàn)項(xiàng)目的國(guó)際化功能谓媒,那么在使用 NutUI 2.0 組件的時(shí)候淆院,也完全不需要擔(dān)心,NutUI 2.0 的國(guó)際化功能是完全兼容 vue-i18n 插件的句惯。

SVG圖標(biāo)

我們認(rèn)為移動(dòng)端組件庫(kù)圖標(biāo)方案的最佳實(shí)踐是 SVG 方案土辩,因?yàn)?SVG 圖標(biāo)較字體圖標(biāo)更靈活,更利于按需加載宗弯,也不會(huì)招致部分瀏覽器對(duì)其進(jìn)行抗鋸齒處理脯燃,清晰度高搂妻,結(jié)合 symbol 元素還可以實(shí)現(xiàn) SVG 圖標(biāo)的復(fù)用蒙保。SVG 圖標(biāo)在移動(dòng)端的兼容性也是良好的。我們?cè)?NutUI 1.x 時(shí)期就選擇了 SVG 作為組件庫(kù)的圖標(biāo)方案欲主,而這種選擇在 NutUI 2.0 版本獲得了傳承邓厕。

除了上述幾點(diǎn),NutUI 2.0 還有支持 Typescript扁瓢,支持 SSR 服務(wù)端渲染等特性详恼。

全新架構(gòu)

京東風(fēng)格的移動(dòng)端Vue組件庫(kù)NutUI2.0來(lái)啦

NutUI 2.0 基于全新的架構(gòu)開(kāi)發(fā),并非基于 1.0 的架構(gòu)升級(jí)而來(lái)引几。我們結(jié)合 1.0 的架構(gòu)經(jīng)驗(yàn)昧互、2.0 的功能需求、工具的新變化、我廠的開(kāi)發(fā)環(huán)境敞掘、主流優(yōu)秀組件庫(kù)的實(shí)現(xiàn)方案等因素叽掘,全新打造了 2.0 的架構(gòu)。架構(gòu)方面主要有以下特點(diǎn):

  • 基于 Webpack4.0 開(kāi)發(fā)玖雁,擁有更快的構(gòu)建速度更扁,輸出更小的 bundle 文件
  • 一次性構(gòu)建出多種類型的 bundle,兼容各種主流模塊化場(chǎng)景和非模塊化引用場(chǎng)景
  • 基于 Babel7 實(shí)現(xiàn)了 Polyfill 的智能加載赫冬,無(wú)須額外引入 Babel-polyfill 文件也可兼容低版本瀏覽器
  • 集成 Carefree 方案浓镜,大幅提升我廠開(kāi)發(fā)環(huán)境的真機(jī)調(diào)試效率
  • Markdown 格式的文檔便于書寫和 Github 閱讀,基于 MD 文件自動(dòng)生成文檔網(wǎng)站
  • 示例頁(yè)面 PWA 加持劲厌,支持離線緩存和創(chuàng)建主屏圖標(biāo)
  • 接入持續(xù)化集成和自動(dòng)化測(cè)試膛薛,提升代碼可靠性
  • 支持自動(dòng)生成新組件模板
  • 配套一個(gè) webpack 插件和一個(gè) Vue 模板工程構(gòu)建工具

組件

組件庫(kù)是個(gè)舞臺(tái),臺(tái)上的主角不是組件庫(kù)的功能和架構(gòu)脊僚,而是組件相叁。我們?cè)诮M件開(kāi)發(fā)上下了不少功夫,精心挑選和打磨了一批組件辽幌。NutUI 2.0 一期擁有組件三十多個(gè)增淹,涉及“基礎(chǔ)”、“布局”乌企,“數(shù)據(jù)錄入”虑润、“操作反饋”、“數(shù)據(jù)展示”加酵、“導(dǎo)航”6大類拳喻。

京東風(fēng)格的移動(dòng)端Vue組件庫(kù)NutUI2.0來(lái)啦

接下來(lái),我們會(huì)集中精力繼續(xù)新增一批組件猪腕,同時(shí)也會(huì)跟進(jìn)對(duì)現(xiàn)有組件的打磨和維護(hù)冗澈。大家有什么通用組件的需求也可以反饋給我們。

跨平臺(tái)

京東風(fēng)格的移動(dòng)端Vue組件庫(kù)NutUI2.0來(lái)啦

NutUI 2.0 還有一個(gè)重磅功能 —— 支持將 Vue 組件轉(zhuǎn)成微信小程序組件陋葡,從而實(shí)現(xiàn)一次編碼跨平臺(tái)使用亚亲。目前這個(gè)功能仍在加緊開(kāi)發(fā)中,稍后上線腐缤,盡請(qǐng)期待哦捌归。

參與開(kāi)發(fā)

歡迎感興趣的小伙伴參與 NutUI 項(xiàng)目的開(kāi)發(fā),我們建議通過(guò)提 pull request 的方式參與岭粤。如果要修一個(gè) bug惜索,請(qǐng)?zhí)峤?pull request 到 master 分支;如果你要提一個(gè)新增功能或組件的 pull request剃浇,那么請(qǐng)基于 v2 分支巾兆,通過(guò) Code Review 之后猎物,我們會(huì)合并你的代碼。

NutUI 2.0 組件庫(kù)沒(méi)有埋任何彩蛋角塑,大家盡管放心使用哦~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末霸奕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吉拳,更是在濱河造成了極大的恐慌质帅,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件留攒,死亡現(xiàn)場(chǎng)離奇詭異煤惩,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)炼邀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門魄揉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人拭宁,你說(shuō)我怎么就攤上這事洛退。” “怎么了杰标?”我有些...
    開(kāi)封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵兵怯,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我腔剂,道長(zhǎng)媒区,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任掸犬,我火速辦了婚禮袜漩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘湾碎。我一直安慰自己宙攻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布介褥。 她就那樣靜靜地躺著座掘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪呻顽。 梳的紋絲不亂的頭發(fā)上雹顺,一...
    開(kāi)封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天丹墨,我揣著相機(jī)與錄音廊遍,去河邊找鬼。 笑死贩挣,一個(gè)胖子當(dāng)著我的面吹牛喉前,可吹牛的內(nèi)容都是我干的没酣。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼卵迂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼裕便!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起见咒,我...
    開(kāi)封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤偿衰,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后改览,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體下翎,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年宝当,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了视事。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡庆揩,死狀恐怖俐东,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情订晌,我是刑警寧澤虏辫,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站锈拨,受9級(jí)特大地震影響乒裆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜推励,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一鹤耍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧验辞,春花似錦稿黄、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至壳贪,卻和暖如春陵珍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背违施。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工互纯, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人磕蒲。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓留潦,卻偏偏與公主長(zhǎng)得像只盹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子兔院,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容