扒一扒如何系統(tǒng)地學(xué)習(xí)Node.js

Node:

1.《nodejs入門》,才38頁,很好,書中項(xiàng)目做一下,學(xué)會(huì)基礎(chǔ)

2.《nodejs開發(fā)指南》。180多頁,很好,書中項(xiàng)目做一下,知道基礎(chǔ),及基本的配合express,jquery,bootstrap,數(shù)據(jù)庫MongoDB

另附一些node實(shí)現(xiàn)書中例子的一些變化使用Express3.0實(shí)現(xiàn)

3.開始看express創(chuàng)建初始項(xiàng)目的源代碼對比2中的書,發(fā)現(xiàn)express更新后新的特性:Migrating from 3.x to 4.x · strongloop/express Wiki · GitHub


看express官網(wǎng)api

英文:Express 4.x - API Reference

中文:Express - api參考

4.之后發(fā)現(xiàn),一個(gè)系列課程,從零開始nodejs系列文章:從零開始nodejs系列文章

其中 文章: Node.js開發(fā)框架Express4.x:Node.js開發(fā)框架Express4.x,詳細(xì)介紹了express4項(xiàng)目的基本內(nèi)容,很好

文章:用Nodejs連接MySQL:用Nodejs連接MySQL,介紹mysql與node基本,及數(shù)據(jù)庫連接池,宕機(jī),連接超時(shí)等node問題解決辦法,node-mysql官網(wǎng)也有相應(yīng)英文解決辦法

5.node+json:node.js里面怎么創(chuàng)建和解析JSON格式的文件?

更全的是這一個(gè)How to parse JSON using Node.js?但要注意如果require json,只加載一次,更新之后,再使用,可能還是老版本

json不好查看的問題:讀寫 JSON 文件 ?· Issue #73 · zhanhongtao/blog · GitHub

6.node郵件驗(yàn)證:Nodejs發(fā)郵件組件Nodemailer

選擇適合的Node.js授權(quán)認(rèn)證策略

7.很全的node moduleModules · joyent/node Wiki · GitHub

8.文件操作,要么官方文檔:File System Node.js v0.12.2 Manual & Documentation,

或者node基礎(chǔ)-文件系統(tǒng)node.js 文件操作, 有一個(gè)要注意的是 存儲(chǔ)文件時(shí),比如writefile寫路徑 要使用path.join(__dirname, “相對于當(dāng)前文件路徑”); 如path.join(__dirname, "../upload/recordList/" + generateID("record") + ".json");,后端要采用這種dirname的形式,前端可以直接寫相對于當(dāng)前文件路徑的形式


node+express

1.整體介紹框架Express框架 -- JavaScript 標(biāo)準(zhǔn)參考教程(alpha)

2.express取值:使用 NodeJS + Express 從 GET/POST Request 取值

3.session+cookie:node.js web開發(fā):EXPRESS 4.x 以上使用session和cookie 的記錄

express 框架之sessionexpress-session官網(wǎng)npmjs.com 的頁面

Node.js Express 從入門到菜鳥(二)——Cookie+Session+三層搭建

express 4.2.0 使用session和cookies

在Express 使用session 做登錄控制

去 掉flash之后,可以只用session,在每次post一開始 置req.session.error為null,之后,驗(yàn)證過程中,檢查錯(cuò)誤再設(shè)置req.session.error,然后根據(jù)結(jié)果redirect 之后,檢測是否error為null,來決定是否展示

node session保存的只是中間鍵值對,不管賦予res.locals.user等,都不是對象,需要在中間件中重新生成對象,才能調(diào)用方法,當(dāng)然如果只是使用屬性值,則不需要

4.express基本的中間件官方網(wǎng)站:senchalabs/connect · GitHub


node+mysql

1.node所用的mysql官網(wǎng):felixge/node-mysql · GitHub

2.Nodejs學(xué)習(xí)筆記(四)--- 與MySQL交互(felixge/node-mysql)

3.用Nodejs連接MySQL

4.三種常用數(shù)據(jù)庫(Oracle、MySQL、SQLServer)的分頁之MySQL分頁

5.sq語句注意順序,order by group by limit..一般放在where后面


express+ejs

1.EJS學(xué)習(xí)總結(jié) - ?雙月通天的個(gè)人空間

2.EJS 模板快速入門

3.nodejs express template (模版)的使用 (ejs + express)_node.js 筆記

4.ejs我的總結(jié):


ejs 寫法:

普通傳入并使用變量:<%=?title?%>

普通for執(zhí)行js代碼(for中間的代碼一定可以執(zhí)行到):

<%?for(var?i=0;?i

  • <%=?headerNavbar[i].name?%>
  • <%?}?%>

    特殊if語句的js代碼(if中間的額代碼不一定可以執(zhí)行到):

    <%?if(active=='index'){%>

    class="active"

    <%?}%>>


    jquery

    1.jQuery 教程

    2.jQuery工具方法 -- JavaScript 標(biāo)準(zhǔn)參考教程(alpha)

    3.在線文檔-jquery

    4.jQuery設(shè)計(jì)思想!!


    jquery ui

    1.jQuery UI

    2.中文API:http://www.css88.com/jquery-ui-api/

    3.jQuery UI 實(shí)例

    4.jqueryrain神站:tabs:80+ Best jQuery Tabs with Examples

    js tree 庫:15+ jQuery Treeview Plugin & jQuery Tree with Example

    jsTree


    Bootstrap:

    1.基本CSS樣式 · Bootstrapv2

    2.全局 CSS 樣式 · Bootstrap 中文文檔v3

    3.bootstrap row等偏移-20px

    4.補(bǔ)充:學(xué)會(huì)Twitter Bootstrap不再難:從2.x升級到3.0版本


    html5

    1.drag:庫:interact.js - JavaScript drag and drop, resizing and gestures with inertia and snappingDragdealer.js教程:HTML 5 拖放HTML5 drag & drop 拖拽與拖放簡介 ? ?張鑫旭


    git:

    1.Git:代碼沖突常見解決方法

    2.使用WebStorm和Git開發(fā)Node.js應(yīng)用

    3.git生成ssh key及本地解決多個(gè)ssh key的問題寫的非常清楚

    4.Generating SSH keys


    js:

    1.對象本身方法,可以用于對這類對象的工具類方法,當(dāng)作對象manager方法

    對象原型中方法,用于每個(gè)不同對象實(shí)例的方法

    2.Javascript異步編程的4種方法callback盡量寫成return callback()

    3.JS對象類型的確定

    4.js取屬性,一般用object.pro ,如果需要?jiǎng)討B(tài)確定屬性,可以使用 object['dynamic'+pro],動(dòng)態(tài)取屬性,包括session,雖然為鍵值對,但這樣也可以


    json:

    1.jquery操作:jQuery中讀取json文件


    后端更新前端:

    1.怎么使用 JavaScript 將網(wǎng)站后臺(tái)的數(shù)據(jù)變化實(shí)時(shí)更新到前端? - 前端開發(fā)

    2.Socket.io在線聊天室

    3.邁出nodejs的第二步,用nodejs+socket.io搭建一個(gè)websocket聊天室

    4.使用Node.js實(shí)現(xiàn)數(shù)據(jù)推送

    5.Automattic/socket.io · GitHub

    6.Nodejs實(shí)現(xiàn)websocket的4種方式


    RESTFul:

    1.Pixelhandler's Blog

    2.理解RESTful架構(gòu)


    雜:

    1. passportJS配置用戶驗(yàn)證:PassportJS 配置失?。簉eq.user 未定義

    Passport ?| Configure

    2.回調(diào)函數(shù):回調(diào)函數(shù),就是放在另外一個(gè)函數(shù)(如 parent)的參數(shù)列表中,作為參數(shù)傳遞給這個(gè) parent,然后在 parent 函數(shù)體的某個(gè)位置執(zhí)行。理解javascript中的回調(diào)函數(shù)(callback)_javascript技巧

    3.不再用的req.flsah():express 版本更新后遇到的問題 flash()

    4.app.locals和res.locals圖靈社區(qū) : 閱讀 : express配置項(xiàng)more

    5.Crypto加密解密:Node.js加密算法庫Crypto

    6.在 CSS 中如何使用百分比設(shè)置頁面 Div 高度? - 前端開發(fā)

    7.HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全詳解(轉(zhuǎn)載)

    8.文件上傳的漸進(jìn)式增強(qiáng)

    拖動(dòng)上傳 js庫:Dropzone.js

    9.js diagram 需求圖:JointJS - the HTML 5 JavaScript diagramming library.

    gojs.net/latest/index.h

    10js 網(wǎng)頁分析:Google Analytics Official Website

    11.js network網(wǎng)狀圖 ,時(shí)間線,2d,3d 庫:vis.js - A dynamic, browser based visualization library.

    12.js fileManager:10 jQuery Based File Manager Plugins

    在線富文本編輯器:RESPONSIVE filemanager 9.9.2(php tinyMCE)

    推薦:Redactor Plugins輕量且美觀

    13.小型:file explore:Kloudless/file-explorer · GitHub:可以實(shí)現(xiàn)從多處上傳,選擇文件

    Cute File Browser with jQuery and PHP美觀輕量但是需要jquery ajax php

    14. js tree 庫:15+ jQuery Treeview Plugin & jQuery Tree with Example

    jsTree

    15.messageBox 通知框 js庫:Bootbox.js—alert, confirm and flexible modal dialogs for the Bootstrap framework

    16.【css】清除浮動(dòng)(clearfix 和 clear)的用法

    六種實(shí)現(xiàn)元素水平居中

    17.button css庫:Buttons - 一個(gè)高度可定制的按鈕(button) CSS 樣式庫。

    18.Html 解決長串英文字母顯示不能自動(dòng)換行

    19.非input元素使用focus等方法:讓元素獲得焦點(diǎn)

    20.text file等在表單中同時(shí)上傳時(shí),記得表單設(shè)enctype="multipart/form-data",否則可能拿不到數(shù)據(jù),還有一個(gè),ajax傳輸data,記得設(shè)置data-type為json,尤其jstree使用ajax傳輸節(jié)點(diǎn)

    21.多文件,多圖片上傳預(yù)覽,進(jìn)度等,可以用webuploader,busboy等

    22.busboynodejs+busboy實(shí)現(xiàn)文件上傳npmjs.com/package/busbo

    23.前端字體:字體選擇_有字庫

    24.$('#btn').on('click',function(e){ e.preventDefaults(); ?or ?return false; })均能在表單提交之前阻止提交

    24.404 not found 網(wǎng)頁設(shè)計(jì)真沒見識過,原來404錯(cuò)誤頁面可以這樣設(shè)計(jì)

    25.閱讀以 JavaScript 編寫的本地文件FileReader - Web API 接口讀寫客戶端本地文件

    26.chrome下 頁面退出時(shí)發(fā)送ajax寫法:

    $(window).on('beforeunload',?function?()

    {

    //this?will?work?only?for?Chrome

    $.ajax({

    type:'GET',

    url:'/ajaxRequest/myClassesOfteacherclose',

    async:false

    });

    });

    27.前端中下面兩個(gè)的$('a').text()是不一樣的,會(huì)計(jì)算空格


    性能優(yōu)化:

    1.!!!毫秒必爭,前端網(wǎng)頁性能最佳實(shí)踐

    2.HTML 5 應(yīng)用程序緩存

    3.Lazy Load Plugin for jQuery

    最后編輯于
    ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
    【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
    平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

    相關(guān)閱讀更多精彩內(nèi)容

    • 搭建開發(fā)環(huán)境并模擬交互數(shù)據(jù) 一、實(shí)驗(yàn)說明 下述介紹為實(shí)驗(yàn)樓默認(rèn)環(huán)境,如果您使用的是定制環(huán)境,請修改成您自己的環(huán)境介...
      玄月府的小妖在debug閱讀 2,250評論 0 15
    • Chapter01.簡介 NodeJS是讓JavaScript脫離瀏覽器運(yùn)行在服務(wù)器的一個(gè)平臺(tái),不是語言。 Nod...
      JunChow520閱讀 1,050評論 0 9
    • 個(gè)人入門學(xué)習(xí)用筆記、不過多作為參考依據(jù)。如有錯(cuò)誤歡迎斧正 目錄 簡書好像不支持錨點(diǎn)、復(fù)制搜索(反正也是寫給我自己看...
      kirito_song閱讀 2,655評論 1 37
    • 本文收集了 Node.js 中常用的工具、依賴包和插件等,涵蓋了 應(yīng)用、后端框架、前端框架、UI 組件、工具庫、功...
      djyuning閱讀 7,611評論 0 12
    • 今天我想寫寫我的兒子。我認(rèn)為他是我來到這個(gè)世界上最完美最獨(dú)一無二的杰作。 我的兒子他名李字覺?!坝X”寓意先知先覺或...
      有錢涂么閱讀 783評論 1 4

    友情鏈接更多精彩內(nèi)容