【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腳本
相關文章
相關標籤/搜索