下列列舉一下我的技術棧,大體上符合我的路線,具體技術上有會的,也有不會。 列一下這個,主要是想,大家在學習的時候要有一個路線,清楚自己要學什么技術,什么是有用的。
大概列了一下,有些是不需要學的,以后再每個技術點去一點點更新。
Web基礎
web學習第一步,入門第一站,不管學習Node.js 還是其他語言,做網站這個是必學的,也是我們主要精力的投入點。
H5、CSS3、JS:基本標簽認識,CSS屬性熟悉并熟練使用,常見前端效果。
前端框架:Jquery, Bootstrap, Zepto.js, Vue.js, Angular.js, React.js.
自動化與構建: Git/SVN, NPM/Bower, Gulp.
Web深入: 面向組件, 面向模塊,HTTP協議.
JS功底
基礎語法,Js標準庫,面向對象,Dom, JavaScript特效,ES6。
Node.js 基礎
了解事件驅動、異步IO、單線程,核心模塊和對象。
Web開發:Express + jade/ejs/ejs-mate + Mongoose/MySQL
express 是輕量靈活的Nodejs Web應用框架,它可以快速地搭建網站。Express框架建立在Nodejs內置的Http模塊上,并對Http模塊再包裝,從而實際Web請求處理的功能。
Jade是一款高性能簡潔易懂的模板引擎,Jade是Haml的Javascript實現,在服務端(NodeJS)及客戶端均有支持。
ejs是一個嵌入的Javascript模板引擎,通過編譯生成HTML的代碼。
ejs-mate, 在ejs模板引擎的基礎上增加了layout, partial 和 block 模板函數。
mongoose 是MongoDB的對象模型工具,通過Mongoose框架,可以進行訪問MongoDB的操作。
mysql 是連接MySQL數據庫的通信API,可以進行訪問MySQL的操作。
通常用Nodejs做Web開發,需要3個框架配合使用,就像Java中的SSH。
Node.js 常用庫
項目管理:npm, grunt, grunt,bower, yeoman
Web開發:express,ejs,hexo, socket.io, restify, cleaver, stylus, browserify,cheerio
工具包:underscore,moment,connet,later,log4js,passport,
passport(oAuth),domain,require,reap,comnder,retry,loader,csurf,compress,errorhander
數據庫:mysql, mongoose, redis
異步:eventproxy, async, wind
部署:forever, pm2
測試:jasmine, karma, nodemon, mocha,supertest, benchmark
跨平臺:rio,tty,chai
內核:cluster,http,request
算法:ape-algorithm(快速排序),ape-algorithm(桶排序)
應用
避開Node.js不擅長的,什么都可以做吧。
下面是一些常見的應用的地方:
web開發,Rest開發, Web聊天室,Web爬蟲,Web博客,Web論壇,實時任務later