【NodeJS】学习笔记和参考资料

NODE JS 笔记篇|>>----------------------------------------------------------------------------------------------------html

一、相关基础命令行操做
java

Install express
npm install -g express
Create a new app
express your_app
cd into app directory
cd your_app
use npm link to resolve modules
npm link express
Set NODE_PATH=NODE_HOME\node_modules
https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x
renamed app.register() to app.engine()

二、Node和npm在 Mac 中的默认安装目录
node

Node was installed at  /usr/local/bin/node
npm was installed at  /usr/local/bin/npm

    Make sure that /usr/local/bin is in your $PATH.
git

三、阻塞与非阻塞 
github

    下面的代码中,当函数start()被调用的时候,Node.js会先等待10秒,以后才会返回“Hello Start”。express

    当调用upload()的时候,会和此前同样当即返回。(固然了,这里只是模拟休眠10秒,实际场景中,这样的阻塞操做有不少,比方说一些长时间的计算操做等。)npm

    接下来就让咱们来看看,咱们的改动带来了哪些变化。如往常同样,咱们先要重启下服务器。浏览器

    为了看到效果,咱们要进行一些相对复杂的操做(跟着我一块儿作): 首先,打开两个浏览器窗口或者标签页。在第一个浏览器窗口的地址栏中输入http://localhost:8888/start, 可是先不要打开它!在第二个浏览器窗口的地址栏中输入http://localhost:8888/upload, 一样的,先不要打开它!sass

    接下来,作以下操做:在第一个窗口中(“/start”)按下回车,而后快速切换到第二个窗口中(“/upload”)按下回车。服务器

    注意,发生了什么: /start URL加载花了10秒,这和咱们预期的同样。可是,/upload URL竟然也花了10秒,而它在对应的请求处理程序中并无相似于sleep()这样的操做!

    这究竟是为何呢?缘由就是start()包含了阻塞操做。形象的说就是“它阻塞了全部其余的处理工做”。

function start() {
  console.log("Request handler 'start' was called.");
  function sleep(milliSeconds) {
    var startTime = new Date().getTime();
    while (new Date().getTime() < startTime + milliSeconds);
  }
  sleep(10000);
  return "Hello Start";
}
function upload() {
  console.log("Request handler 'upload' was called.");
  return "Hello Upload";
}
exports.start = start;
exports.upload = upload;

四、response.write 输出格式

    "Content-Type": "text/plain"  // 以字符串形式插入到页面中

    "Content-Type": "text/html"  // 以 html 形式插入到页面中

response.writeHead(200, {"Content-Type": "text/plain"});
response.write(html);
response.end();

NODE JS 资料篇|>>----------------------------------------------------------------------------------------------------

一、相关资料列表:

二、Node 开发框架 Express 资料

    Express是一款基于Node.js的高性能高级Web框架。

    若是你之前用过Ruby社区的Sinatra框架,你会以为Express和它的风格很像。

    按照程序猿和攻城狮们的惯例,来个Hello World

var app = express.createServer();
app.get('/', function(req, res){
    res.send('Hello World');
}); 
app.listen(3000);

    想看文档教程神马的,请到官网:http://expressjs.com

    Express的源码托管在这里:https://github.com/visionmedia/express

    Express使用了Connect中间件,Connect的文档在这里:http://senchalabs.github.com/connect/

    若是你想作单元测试,能够看看TDD框架Expresso:http://visionmedia.github.com/expresso/

    Express可选的Jade模板引擎也挺有趣的,它和haml是亲戚,像是个HTML预编译器:http://jade-lang.com/

    说到haml,你也能够了解下sass,它像一个CSS预编译器:https://github.com/visionmedia/sass.js

    不过同类产品中,我更喜欢不那么激进的less:https://github.com/cloudhead/less.js

    Express框架之app.js配置文件说明:http://my.oschina.net/youdoce/blog/68658

    Express.js 中文入门指引手册:http://my.oschina.net/youdoce/blog/68476

NODE JS 教程篇|>>----------------------------------------------------------------------------------------------------

【官方网站】好吧,阅读英语文档能力强的直接入

http://nodejs.org/about/

【入门教程】从helloworld开始,须要必定基础知识

http://www.nodebeginner.org/index-zh-cn.html

http://my.oschina.net/maomi/blog/80388

【帮助教程】

深入理解nodejs “基于事件驱动的回调”

http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb

 Martin Fowlers关于依赖注入的大做

http://martinfowler.com/articles/injection.html

 《名词王国中的死刑》

译文:http://justjavac.iteye.com/blog/1604046

原文:http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html

【安装教程】Windows下使用NodeJS和npm安装UglifyJS对JavaScript进行压缩或美化(参考第一二步便可)

http://www.cnblogs.com/sorex/archive/2011/12/14/2287635.html

node -v //查看nodejs版本
 
npm -v //查看npm版本

image

【使用运行】

安装以后,创建文件夹,编写测试js文件,cmd 进入包含测试js文件的文件夹,运行

cd e://test/nodejs/example.js  //进入测试文件所在文件夹

node example.js                //执行该js脚本
相关文章
相关标签/搜索