Difference between revisions of "Node.js"

From Freephile Wiki
Jump to navigation Jump to search
(link to cheatsheet)
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Intro ==
 
[http://radar.oreilly.com/2011/07/what-is-node.html What is node?]<ref>Radar O'Reilly article from 2011 that is a good overview.</ref> [https://www.youtube.com/watch?v=OUCHr2H-7_g video with Tom Hughes-Croucher of Joyent]
 
 
 
Node.js is a platform for doing network applications using [[JavaScript]] on the client and server.  Basically, it's like an Apache web server, written in C, and using the Chrome browser's JavaScript engine.  The community is well-developed and there are many pre-written 'modules'. See the [[wp:Node.js|wikipedia article]] for more.
 
Node.js is a platform for doing network applications using [[JavaScript]] on the client and server.  Basically, it's like an Apache web server, written in C, and using the Chrome browser's JavaScript engine.  The community is well-developed and there are many pre-written 'modules'. See the [[wp:Node.js|wikipedia article]] for more.
 
== Parsoid Web Service API ==
 
https://freephile.org/node is a node.js implementation that powers the [[Visual editor]] for MediaWiki
 
* {{@todo}} reconstitute the node service
 
** {{done}} installed nodejs package (note that the package provides npm, so it conflicts with the npm standalone package) '''<code>dpkg-query --status nodejs</code>'''
 
** {{AI}} configure port
 
  
 
== Links ==
 
== Links ==
Line 18: Line 9:
 
* [https://nodejsmodules.org/ nodejs modules]
 
* [https://nodejsmodules.org/ nodejs modules]
 
* [http://nodeguide.com/index.html Felix's Node.js Guide]
 
* [http://nodeguide.com/index.html Felix's Node.js Guide]
* [http://browsenpm.org/package.json interactive cheatsheet for <code>package.json</code>]
 
 
* Learnable.com has an intro to node.js course which is valuable.
 
* Learnable.com has an intro to node.js course which is valuable.
 
* [http://nodeschool.io/ Node School]
 
* [http://nodeschool.io/ Node School]
Line 26: Line 16:
 
* [https://angularjs.org/ AngularJS] - a 100% JavaScript client-side templating framework that provides data binding. Not related to node.js, but useful on the client-side.
 
* [https://angularjs.org/ AngularJS] - a 100% JavaScript client-side templating framework that provides data binding. Not related to node.js, but useful on the client-side.
 
* [http://eirikb.github.io/nipster/ nipster] search for npm modules
 
* [http://eirikb.github.io/nipster/ nipster] search for npm modules
* http://howtonode.org/ created by Tim Caswell (see https://creationix.com/)
 
  
 
== Front-end Build Tools ==
 
== Front-end Build Tools ==
 
When doing nodejs development or [[front-end development]], you may also wish to employ some sort of build system or task runner for performing repetitive tasks like minification, compilation, unit testing, linting, etc.
 
When doing nodejs development or [[front-end development]], you may also wish to employ some sort of build system or task runner for performing repetitive tasks like minification, compilation, unit testing, linting, etc.
* While many people have been using '[http://gruntjs.com/ Grunt]'
+
* While many people have been using '[http://gruntjs.com/ Grunt]'  
 
* I like '[http://slides.com/contra/gulp Gulp]' better because it's code over configuration and more intuitive.
 
* I like '[http://slides.com/contra/gulp Gulp]' better because it's code over configuration and more intuitive.
* Meanwhile, Andrew Krespanis of SitePoint shows a great example of how you can simply [http://www.sitepoint.com/using-gnu-make-front-end-development-build-tool/ use GNU Make for a front-end development build tool] (More on [[Make]])
+
* Meanwhile, Andrew Krespanis of SitePoint shows a great example of how you can simply [http://www.sitepoint.com/using-gnu-make-front-end-development-build-tool/ use GNU Make for a front-end development build tool]
  
 
== Node Happenings ==
 
== Node Happenings ==
 
The people of Node (e.g. [https://github.com/mikeal Mikeal Rogers]) are doing a lot of interesting things.  Like [http://jsfest.com/ JSFest] which happened in SanFrancisco 2014, or Node school.
 
The people of Node (e.g. [https://github.com/mikeal Mikeal Rogers]) are doing a lot of interesting things.  Like [http://jsfest.com/ JSFest] which happened in SanFrancisco 2014, or Node school.
 
{{References}}
 
  
 
[[Category:JavaScript]]
 
[[Category:JavaScript]]

Revision as of 07:07, 20 May 2014

Node.js is a platform for doing network applications using JavaScript on the client and server. Basically, it's like an Apache web server, written in C, and using the Chrome browser's JavaScript engine. The community is well-developed and there are many pre-written 'modules'. See the wikipedia article for more.

Links[edit | edit source]

  • Node.js official website
  • Node.js API docs
  • npm - the official package manager for Node.js
  • nvm - Node Version Manager. A bash script to manage multiple active node.js versions. Although the packaged node.js for Ubuntu 12.04 is rather old, nvm allows you to instantly use the newest version; and use multiple versions (if your projects have certain dependencies) without problem.
  • nodejs modules
  • Felix's Node.js Guide
  • Learnable.com has an intro to node.js course which is valuable.
  • Node School
  • Socket.io a node.js module for WebSockets
  • Express - a web application framework for node
  • NeDB Node embedded database similar to MongoDB
  • AngularJS - a 100% JavaScript client-side templating framework that provides data binding. Not related to node.js, but useful on the client-side.
  • nipster search for npm modules

Front-end Build Tools[edit | edit source]

When doing nodejs development or front-end development, you may also wish to employ some sort of build system or task runner for performing repetitive tasks like minification, compilation, unit testing, linting, etc.

Node Happenings[edit | edit source]

The people of Node (e.g. Mikeal Rogers) are doing a lot of interesting things. Like JSFest which happened in SanFrancisco 2014, or Node school.