2017年12月份GitHub上最热门的JavaScript项目

开源最前线(ID:OpenSourceTop) 猿妹整编

GitHub 上热门的JavaScript项目新鲜出炉啦,一起来看看哪些是你需要的


1
Web应用打包工具parcel

https://github.com/parcel-bundler/parcel Star 15226


Parcel 是一款极速、零配置的 Web 应用打包工具。功能特性如下:

● 极速打包 - 多核心编译,以及即使在重启后也能快速重建的文件系统缓存。

● 无需安装插件,开箱即用,支持 JS、CSS、HTML、file assets 等。

● 在有需要时自动转换成 Babel、PostCSS 和 PostHTML 模块 - 甚至是 node_modules。

● 代码零配置,使用动态 import()语句分割。

● 内置热模块替换

● 报错日志友好 - 代码高亮显示有助于查明问题。


2
游戏框架boardgame.io

https://github.com/google/boardgame.io Star 5122


BOARDGAME.IO 是 Google 开源的一个游戏框架,旨在允许游戏作者将游戏规则从本质上转化为一系列简单的函数,这些函数用于描述当一个指定动作发生时游戏的状态变化,框架负责处理表述性状态传递。 无需再手动编写任何网络或后端代码。功能特性:

● 状态管理:自动跨浏览器、服务器和存储器无缝管理游戏状态;

● 快速成型:在渲染游戏之前调试界面以模拟更改。

● 多人游戏:所有连接到同一游戏的浏览器都实时同步,无需刷新。

● 私密状态:私密信息可从客户端隐藏。

● 日志:游戏日志可查看任意时间的信息。

● UI 工具包:常用于游戏中的 React 组件。


3
JavaScript库vue.js

https://github.com/vuejs/vue Star 79209


Vue.js 是构建 Web 界面的 JavaScript 库,提供数据驱动的组件,还有简单灵活的 API,使得 MVVM 更简单。主要特性:

● 可扩展的数据绑定

● 将普通的 JS 对象作为 model

● 简洁明了的 API

● 组件化 UI 构建

● 配合别的库使用


4
joplin

https://github.com/laurent22/joplin Star 3545


joplin 是一个免费的,开源的笔记和待办事项的应用程序,可以处理笔记本组织成的大量笔记。笔记是可搜索的,可以直接从应用程序复制,标记和修改,也可以从自己的文本编辑器进行修改。笔记采用Markdown格式。


通过.enex文件从Evernote导出的Notes 可以导入到 Joplin 中,包括格式化内容(转换为Markdown),资源(图像,附件等)和完整的元数据(地理位置,更新时间,创建时间等) 。


5
静态网站创建工具Docusaurus

https://github.com/facebook/Docusaurus Star 4527


Docusaurus 是 Faecbook 专门为开源项目开发者提供的一款易于维护的静态网站创建工具,使用 Markdown 即可更新网站。构建一个带有主页、文档、API、帮助以及博客页面的静态网站,只需5分钟。

启动简单 :Docusaurus的构建可以在很短的时间内启动和运行。Docusaurus已经构建了处理网站的过程,开发人员只需专注于项目。

本地化: Docusaurus 通过CrowdIn 提供本地化支持。通过翻译文档增强国际社区的地位。

可自定义:Docusaurus 可自定义项目需要的关键页面,包括主页,文档部分,博客和其他页面


6
popmotion

https://github.com/Popmotion/popmotion Star 8610


Popmotion 是一个 12kb 的 JavaScript 运动引擎,它可以使用在浏览器、Node 等所有地方。具有如下特性:

● Native DOM 支持::CSS, SVG, SVG 路径和 DOM 属性支持。

● 不受限制:自定义的回调可以让你输出到任何 API 上

● Power anything:使用 jQuery, Canvas, Three.js, WebSockets 等.

● 无缝交互:输入、动画及物理之间快速的切换

● Node 支持:可在服务器上运行,或者运行在 IoT 的 Arduino 上

● 开放的 rAF loop:可以在核心 requestAnimationFrame 循环里运行任何进程


7
superstruct

https://github.com/ianstormtaylor/superstruct Star 2881


Superstruct 是一个简单和可组合的方式来验证 Javascript 中的数据。它的类型注释 API 受 Typescript、Flow、Go 和 GraphQL 的启发,令用户有熟悉感且易于理解。


不过,Superstruct 是为在运行时验证数据而设计的,所以它会为最终用户抛出(或返回)详细的运行时错误。 这在类似于接受 REST 或 GraphQL API 中的任意输入的情况下特别有用。它甚至可以用来在运行时验证内部数据结构。 


8
react

https://github.com/facebook/react Star85267


React是Facebook开发的用于构建用户界面的JavaScript库,现已为很多公司所用,因为它采用了一种不同的方式来构建应用:借助于React,开发者可以将应用分解为彼此解耦的独立组件,这样就可以独立维护并迭代各种组件了。


9
Manta

https://github.com/hql287/Manta Star 2431


Manta 是 Joyent 的一个开源的基于 HTTP 的对象存储系统。使用 OS 容器运行任意数据计算。使用场景包括:

● Web 资源 (例如图片、CSS、JS 和静态页面)也可直接对图像大小进行 Manta 内的处理

● 存储备份

● 视频存储和转换

● 日志存储和分析

● 数据仓库

● 软件崩溃 dump 存储和分析


10
puppeteer

https://github.com/GoogleChrome/puppeteer Star 22712


Puppeteer 是一个控制 headless Chrome 的 Node.js API 。它是一个 Node.js 库,通过 DevTools 协议提供了一个高级的 API 来控制 headless Chrome。它还可以配置为使用完整的(非 headless)Chrome。


在浏览器中手动完成的大多数事情都可以通过使用 Puppeteer 完成,如生成屏幕截图和 PDF 页面、检索 SPA 并生成预渲染内容(即“SSR”)、从网站上爬取内容等


11
microbundle

https://github.com/developit/microbundle Star 1623


microbundle 是由 Rollup 提供支持的小型模块的零配置打包程序。 特征:

● 只用一个 package.json捆绑您的库

● 支持 ESnext&async / await 

● 支持多个输入模块(cli.js+ index.js等)

● 为每个条目创建多个输出格式(CJS,UMD和ESM)

● 内置Uglify压缩和gzipped捆绑大小跟踪


12
模块坏文件上传组件uppy

https://github.com/transloadit/uppy star 7532


Uppy 是一个流行的模块化文件上传组件,可无缝集成任何框架。它可从本地磁盘、Google 云端硬盘、Dropbox、Instagram、远程 URL、摄像机和其他位置提取文件,然后将其上传到最终目的地。它非常快速并且易于使用。由一个核心模块和其它用于选择、操作、上传等功能的插件组成。

推荐↓↓↓
开源最前线
上一篇:百度在美宣布 Apollo 2.0 正式开放 共有 16.5 万行代码 下一篇:2017年12月份GitHub上最热门的Python项目