2018年1月份最熱門的JavaScript開源專案
來源:開源最前線 猿妹整編
連結:https://www.itcodemonkey.com/article/2280.html(點選尾部閱讀原文前往)
本篇文章為大家盤點了1月份最熱門的 JavaScript 專案,讓我們一起來看下吧!
https://github.com/nhnent/tui.editor Star 5033
tui.editor(TOAST UI Editor)是一款所見即所得的Markdown編輯器。TOAST UI Editor提供Markdown模式和WYSIWYG模式。它的功能非常強大,你可以編輯表格,UML圖和圖表等。
TOAST UI Editor的Markdown模式的特點有:
● 所見即所得。你在編輯Markdown的同時,可以預覽生成的HTML頁面。
● 非同步滾動。可以在Markdown和預覽之間進行非同步滾動。
● 列表自動縮排。
● 語法高亮。
TOAST UI Editor的WYSIWYG模式的特點有:
● 可以直接從瀏覽器,excel,powerpoint等複製內容並進行貼上。
● 支援170+種語言的語法高亮。
● 支援表格。
https://github.com/parcel-bundler/parcel Star 18249
Parcel 是一款極速、零配置的 Web 應用打包工具。功能特性如下:
● 極速打包 - 多核心編譯,以及即使在重啟後也能快速重建的檔案系統快取。
● 無需安裝外掛,開箱即用,支援 JS、CSS、HTML、file assets 等。
● 在有需要時自動轉換成 Babel、PostCSS 和 PostHTML 模組 - 甚至是 node_modules。
● 程式碼零配置,使用動態 import()語句分割。
● 內建熱模組替換
● 報錯日誌友好 - 程式碼高亮顯示有助於查明問題。
https://github.com/vuejs/vue
Vue.js 是構建 Web 介面的 JavaScript 庫,提供資料驅動的元件,還有簡單靈活的 API,使得 MVVM 更簡單。主要特性:
● 可擴充套件的資料繫結
● 將普通的 JS 物件作為 model
● 簡潔明瞭的 API
● 元件化 UI 構建
● 配合別的庫使用
https://github.com/wearehive/project-guidelines/ Star 15264
JavaScript工程專案的一系列最佳實踐策略,如一些Git規則:
● 在功能分支中執行開發工作。
● 從 develop 獨立出分支。
● 永遠也不要將分支(直接)推送到 develop 或者 master ,請使用合併請求(Pull Request)。
● 請確保在變基併發起合併請求之前解決完潛在的衝突。
● ......
https://github.com/transloadit/uppy Star 9225
Uppy 是一個流行的模組化檔案上傳元件,可無縫整合任何框架。它可從本地磁碟、Google 雲端硬碟、Dropbox、Instagram、遠端 URL、攝像機和其他位置提取檔案,然後將其上傳到最終目的地。它非常快速並且易於使用。由一個核心模組和其它用於選擇、操作、上傳等功能的外掛組成。
https://github.com/zouhir/jarvis Star 4065
JARVIS,全稱為 Just A Rather Very Intelligent System ,是一個非常智慧的基於 Webpack 儀表板的瀏覽器。它會將你在 Webpack 構建開發和生產過程中的所有相關資訊都放到瀏覽器中。
JARVIS 非常漂亮,可顯示匯入的 ES Harmony 模組的數量,以及資產在 12 種不同的連線型別中的表現。
https://github.com/Chalarangelo/30-seconds-of-code Star 16705
這個專案裡精心收集了大量有用的JavaScript程式碼片段文章,讓你能夠在極短的時間內可以理解使用它們,分為日期、節點、功能模組等部分,你可以直接將檔案的這些程式碼直接匯入到你的的文字編輯器(VSCode,Atom,Sublime)
https://github.com/GoogleChrome/puppeteer Star 25303
Puppeteer 是一個控制 headless Chrome 的 Node.js API 。它是一個 Node.js 庫,通過 DevTools 協議提供了一個高階的 API 來控制 headless Chrome。它還可以配置為使用完整的(非 headless)Chrome。
在瀏覽器中手動完成的大多數事情都可以通過使用 Puppeteer 完成,如生成螢幕截圖和 PDF 頁面、檢索 SPA 並生成預渲染內容(即“SSR”)、從網站上爬取內容等
https://github.com/facebook/Docusaurus Star 6001
● 啟動簡單 :Docusaurus的構建可以在很短的時間內啟動和執行。Docusaurus已經構建了處理網站的過程,開發人員只需專注於專案。
● 本地化: Docusaurus 通過CrowdIn 提供本地化支援。通過翻譯文件增強國際社群的地位。
● 可自定義:Docusaurus 可自定義專案需要的關鍵頁面,包括主頁,文件部分,部落格和其他頁面
https://github.com/Popmotion/popmotion Star 9453
Popmotion 是一個 12kb 的 JavaScript 運動引擎,它可以使用在瀏覽器、Node 等所有地方。特性如下:
● Native DOM 支援:CSS, SVG, SVG 路徑和 DOM 屬性支援。
● 不受限制:自定義的回撥可以讓你輸出到任何 API 上
● Power anything:使用 jQuery, Canvas, Three.js, WebSockets 等.
● 無縫互動:輸入、動畫及物理之間快速的切換
● Node 支援:可在伺服器上執行,或者執行在 IoT 的 Arduino 上
● 開放的 rAF loop:可以在核心 requestAnimationFrame 迴圈裡執行任何程序
https://github.com/NervJS/nerv Star 2542
Nerv 是一款基於虛擬 DOM 技術的 JavaScript(TypeScript) 庫,它提供了與 React 16 一致的使用方式與 API,並且擁有更高的效能表現、更小的包大小以及更好的瀏覽器相容性。特性如下:
● 與 React 保持一致的API,不需要 nerv-compat
● 久經戰鬥洗禮,已經應用於京東 PC 首頁與京東旗下 TOPLIFE
● 強勁的效能
● IE8 相容
● 更小尺寸,9Kb gziped
● 支援客戶端與服務端同構渲染
● 支援 React 16 的新特性,例如錯誤處理,Portals,自定義 DOM 屬性等等
https://github.com/hyperapp/hyperapp Star 10585
HyperApp 是一個用於構建前端應用的 JavaScript 庫,體積十分輕量,僅 1KB。具有以下特性:
● 宣告式:HyperApp 的設計基於 Elm Architecture。使用函式式範例建立可擴充套件的基於瀏覽器的應用程式。你不必學習一種新的語言。
● 自定義標籤:使用自定義標籤構建複雜的使用者介面。自定義標籤是無狀態的,易於除錯。
● Batteries-included:開箱即用,HyperApp 具有類 Elm 的狀態管理和虛擬 DOM 引擎;但它仍然只有 1kb 的大小,沒有依賴關係。
https://github.com/developit/workerize Star 2418
workerize 能夠方便地將某個模組移入 Web Worker,自動反射提供出介面函式;workerize 會注入某個輕量級的 RPC 實現到應用中,支援同步或者非同步地 Worker 函式呼叫,並且能夠順滑支援 async/await。
https://github.com/prettier/prettier Star 20845
Prettier 是一個“有主見”的程式碼格式化工具,支援列表如下:
● JavaScript,包括 ES2017
● JSX
● Flow
● TypeScript
● CSS、LESS 和 SCSS
● JSON
● GraphQL
簡而言之,這個工具能夠使輸出程式碼保持風格一致。
https://github.com/gatsbyjs/gatsby Star 18245
Gatsby 可以使用 React.js 把純文字轉換到動態部落格或者網站上。目標如下:
● 無需過載頁面轉換
● 熱過載編輯
● 為構建靜態網站建立 React.js 元件模型和生態系統
● 直觀的基於目錄的 URLs
● 支援 "Starters"