关于javascript:如何开始使用node.js

How do I get started with Node.js

node.js有什么好的入门资源吗?有好的教程、博客或书籍吗?

当然,我已经访问了它的官方网站http://nodejs.org/,但我不认为它们的文档是一个好的起点。


教程

  • nodeschool.io互动课程
  • 节点艺术(node.js简介)
  • 你好世界
  • Hello World Web Server(付费)
  • JS指南
  • 使用node.js、express和mongodb构建博客
  • 初学者的node.js
  • 完全自信地学习node.js
  • 节点JS处理模型-单线程模型,带有事件循环体系结构
  • Risingstack的节点英雄系列
  • 编程社区投票的great node.js教程
  • JS食谱
  • node.js教程

  • 结点30天

开发者网站

  • Joyent的节点开发网站

视频

  • node tuts(node.js视频教程)
  • node.js中的einf_hrung(德语)
  • 使用Ryan Dahl介绍node.js
  • node.js:Asynchronous Purity带来更快的开发
  • 使用node.js进行并行编程
  • 服务器端javascript与node、connect和express
  • node.js首看
  • 使用MongoDB的node.js
  • Ryan Dahl的谷歌技术谈话
  • 使用node.js的实时Web
  • node.js初学者教程
  • 多元课程(付费)
  • Udemy学习和理解nodejs(付费)
  • 新波士顿

屏幕截图

  • 学习所有节点
  • 节点tuts
  • node.js中的einf_hrung(德语)
  • 诺克斯特

  • 节点入门书
  • 主控节点.js
  • 使用node.js启动和运行
  • node.js正在运行
  • smashing node.js:javascript无处不在
  • node.js&co.(德语)
  • 萨姆24小时内自学node.js
  • 最详细的免费javascript书籍列表
  • 密丘节点书
  • node.js正确的方法:实用的、可扩展的服务器端javascript
  • 使用node.js开始Web开发
  • 节点Web开发
  • 向正义的普遍统治致敬!

课程

  • 使用node.js的实时Web
  • developmentor的essential node.js
  • freecodecamp-免费学习代码

博客

  • node.js博客
  • 如何结点
  • 戴利斯
  • 日本语博客
  • Ryan Wilcox的白皮书
  • 德文思

播客

  • 诺迪普

javascript资源

  • 克罗克福德的视频(一定要看!)
  • 初学者基本的javascript设计模式
  • javascript花园
  • javascript模式手册
  • javascript:好零件手册
  • 雄辩的javascript书籍

JS模块

  • 搜索已注册的node.js模块
  • Awesome node.js库的管理列表
  • Github/Joyent/node.js上的wiki列表(最后从这里开始!)

其他

  • jsapp.us-类似于jsfiddle,但用于node.js
  • 带有Vjet JS的节点(用于Eclipse IDE)
  • 发布源的生产站点:
    • 节点淘汰黑客攻击(源)
    • freecodecamp-免费学习代码(源代码)
  • 有用的node.js工具、教程和资源
  • runnable.com类似于jsfiddle,但也适用于服务器端
  • Heroku上的node.js入门
  • 打开班次时开始使用node.js
  • 使用Passport进行身份验证


首先,学习node.js的核心概念:好的。

  • 您需要了解node.js鼓励的异步编码风格。好的。

  • 异步!=并发。了解node.js的事件循环!好的。

  • node.js使用commonJS-style require()进行代码加载;这可能与您习惯的有所不同。好的。

  • 熟悉node.js的标准库。好的。

然后,你会想看看社区能提供什么:好的。

node.js包管理的黄金标准是NPM。好的。

  • 它是用于管理项目相关性的命令行工具。好的。

  • 确保您了解node.js和npm如何通过node_modules文件夹和package.json与项目交互。好的。

  • NPM也是几乎所有node.js包的注册中心。好的。

最后,您将希望了解一些更受欢迎的包是用于各种任务的:好的。

每个项目的有用工具:好的。

  • 下划线包含您所需的几乎所有核心实用程序方法。
  • LoDash是下划线的克隆,其目标是更快、更可自定义,并且有许多下划线没有的功能。它的某些版本可用作下划线的插入替换。
  • typescript使javascript更易于使用,同时也让您远离麻烦!
  • JShint是一个代码检查工具,它可以节省您查找愚蠢错误的大量时间。为文本编辑器找到一个插件,它将自动在代码上运行。

单元测试:好的。

  • Mocha是一个流行的测试框架。
  • 虽然有些陈旧,但誓言对于异步测试来说是一种奇妙的体验。
  • expresso是一个更传统的单元测试框架。
  • 节点单元是另一个相对传统的单元测试框架。
  • ava是一个新的测试运行程序,内置了babel并同时运行测试。

Web框架:好的。

  • 到目前为止,express.js是最流行的框架。
  • KOA是由Ext.js后面的团队设计的一个新的Web框架,其目的是为Web应用程序和API提供更小、更富表现力、更健壮的基础。
  • jas.js是node.js最流行的MVC框架,基于express。它的设计目的是模仿类似RubyonRails的框架的MVC模式,但是支持现代应用程序的需求:具有可扩展、面向服务架构的数据驱动API。
  • Meteor将jquery、handlebars、node.js、websocket、mongodb和ddp捆绑在一起,并在不使用RubyonRails克隆的情况下促进配置约定。
  • Tower(已弃用)是Express.js顶部的抽象,其目标是成为RubyonRails克隆。
  • Geddy是对Web框架的另一种看法。
  • RailwayJS是一个RubyonRails启发的MVC Web框架。
  • sleek.js是一个基于express.js的简单Web框架。
  • HAPI是一个以配置为中心的框架,内置了对输入验证、缓存、身份验证等的支持。
  • Trails是一个现代的Web应用程序框架。它建立在Rails和Grails的谱系基础上,通过遵循简单、基于约定、API驱动的设计理念来加速开发。好的。

  • DANF是一个完整的栈OOP框架,提供了许多功能,以生成可扩展、可维护、可测试和可执行的应用程序,并允许在服务器(node.js)和客户机(browser)端以相同的方式进行编码。好的。

  • DerbyJS是一个反应式全栈JavaScript框架。他们长期使用反应式编程和同构JavaScript等模式。好的。

  • loopback.io是一个强大的node.js框架,用于创建API并轻松连接到后端数据源。它有一个angular.js sdk,并为iOS和Android提供sdk。好的。

Web框架工具:好的。

  • jade是node.js世界的哈姆/斯利姆
  • EJS是一种更传统的模板语言。
  • 不要忘记下划线的模板方法!

网络:好的。

  • connect是node.js世界的机架或wsgi。
  • 请求是一个非常流行的HTTP请求库。
  • socket.io对于构建WebSocket服务器很方便。

命令行交互:好的。

  • 最小化的命令行参数解析。
  • yargs是用于解析命令行参数的强大库。
  • js是构建一次性命令行应用程序的完整解决方案。
  • vorpal.js是一个用于构建成熟的沉浸式命令行应用程序的框架。
  • 粉笔使您的CLI输出很漂亮。

使用流:好的。

  • 错过了溪流的一切。
  • https://github.com/calvinmetcalf/streams-a-爱情故事
  • http://maxogden.com/node-streams.html
  • https://github.com/substack/stream-handbook网站
  • 流如何帮助提高node.js性能

好啊。


利用源头,卢克。

不,但我认真地发现,从源代码构建node.js、运行测试和查看基准确实让我走上了正确的道路。从那里,lib目录中的.js文件是一个很好的查找位置,尤其是文件http.js。

更新:一年前我写了这个答案,从那时起,学习node.js的人可以使用的大量资源激增。尽管我仍然相信深入源头是值得的,但我认为现在有更好的开始方法。我建议看node.js上的一些书,这些书已经开始面世了。