<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          京東跨端組件庫(kù) NutUI 2.0 來(lái)襲

          共 3143字,需瀏覽 7分鐘

           ·

          2021-03-16 23:41

          點(diǎn)擊“開(kāi)發(fā)者技術(shù)前線”,選擇“星標(biāo)??”

          讓一部分開(kāi)發(fā)者看到未來(lái)

          來(lái)源:授權(quán)轉(zhuǎn)載自京東技術(shù) | 責(zé)編:可可 


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



          經(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í)版。


          (手機(jī)掃描二維碼可以體驗(yàn) NutUI 2.0 的組件示例)


          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)格有差異,還可以通過(guò)增加一個(gè)自定義 class 來(lái)調(diào)整樣式。如果差異較大,甚至可以替換掉整個(gè)組件的默認(rèn)樣式文件。你的組件,你做主。



          定制主題



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




          按需加載


          NutUI 1.x 的按需加載是通過(guò)自定義構(gòu)建的方式來(lái)實(shí)現(xiàn)的,雖可滿足需求,但是讓用戶(hù)每次都進(jìn) node_modules 目錄下找到 NutUI 項(xiàng)目目錄安裝依賴(lài),再進(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)格的按需加載寫(xiě)法,且兼容不支持 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)


          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)建出多種類(lèi)型的 bundle,兼容各種主流模塊化場(chǎng)景和非模塊化引用場(chǎng)景

          • 基于 Babel7 實(shí)現(xiàn)了 Polyfill 的智能加載,無(wú)須額外引入 Babel-polyfill 文件也可兼容低版本瀏覽器

          • 集成 Carefree 方案,大幅提升我廠開(kāi)發(fā)環(huán)境的真機(jī)調(diào)試效率

          • Markdown 格式的文檔便于書(shū)寫(xiě)和 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大類(lèi)。



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

          跨平臺(tá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)有埋任何彩蛋,大家盡管放心使用哦~


          • 官網(wǎng):
            https://nutui.jd.com

          • Github倉(cāng)庫(kù):
            https://github.com/jdf2e/nutui/

          • 更新日志:
            https://github.com/jdf2e/nutui/releases


          大廠面試題領(lǐng)取方式:
          加下面助理的微信一定要備注(大廠面試):
          研究/工作方向+地點(diǎn)+學(xué)校/公司+昵稱(chēng)
          (如大前端+上海+上交+可可)
          根據(jù)格式備注,可更快被通過(guò)且邀請(qǐng)進(jìn)群,領(lǐng)取一份專(zhuān)屬學(xué)習(xí)禮包


          END


          好文點(diǎn)個(gè)在看吧!
          瀏覽 49
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  波多野结衣被操 | 中曰韩一级片 | 日日69| 亚洲激情欧美日本国产视频小说图片电影 | 亚洲淫色视频。 |