Difference between revisions of "Node.js"

From Freephile Wiki
Jump to navigation Jump to search
(link to cheatsheet)
(Adds reference to Grunt)
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Intro ==
+
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'. [[wp:Node.js]]
[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.
 
 
 
== 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 ==
 
  
 
* [http://nodejs.org/ Node.js official website]
 
* [http://nodejs.org/ Node.js official website]
* [http://nodejs.org/api/index.html Node.js API docs]
+
* [http://nodejs.org/api/index.html Node.js API docs]  
 
* [http://npmjs.org/ npm] - the official package manager for Node.js
 
* [http://npmjs.org/ npm] - the official package manager for Node.js
 
* [https://github.com/creationix/nvm 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.
 
* [https://github.com/creationix/nvm 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.
 
* [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 14:
 
* [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 ==
 
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]'
 
* 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]])
 
 
== 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.
 
 
{{References}}
 
  
[[Category:JavaScript]]
+
When doing nodejs development, you may also wish to employ '<nowiki>[http://gruntjs.com/ Grunt]</nowiki>' which is a task runner for performing repetitive tasks like minification, compilation, unit testing, linting, etc.[[Category:JavaScript]]

Revision as of 10:58, 13 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'. wp:Node.js

  • 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

When doing nodejs development, you may also wish to employ '[http://gruntjs.com/ Grunt]' which is a task runner for performing repetitive tasks like minification, compilation, unit testing, linting, etc.