扒一扒如何系统地学习Node.js

Node:

1.《nodejs入门》,才38页,很好,书中项目做一下,学会基础

2.《nodejs开发指南》。180多页,很好,书中项目做一下,知道基础,及基本的配合express,jquery,bootstrap,数据库MongoDB

另附一些node实现书中例子的一些变化使用Express3.0实现

3.开始看express创建初始项目的源代码对比2中的书,发现express更新后新的特性:Migrating from 3.x to 4.x · strongloop/express Wiki · GitHub


看express官网api

英文:Express 4.x - API Reference

中文:Express - api参考

4.之后发现,一个系列课程,从零开始nodejs系列文章:从零开始nodejs系列文章

其中 文章: Node.js开发框架Express4.x:Node.js开发框架Express4.x,详细介绍了express4项目的基本内容,很好

文章:用Nodejs连接MySQL:用Nodejs连接MySQL,介绍mysql与node基本,及数据库连接池,宕机,连接超时等node问题解决办法,node-mysql官网也有相应英文解决办法

5.node+json:node.js里面怎么创建和解析JSON格式的文件?

更全的是这一个How to parse JSON using Node.js?但要注意如果require json,只加载一次,更新之后,再使用,可能还是老版本

json不好查看的问题:读写 JSON 文件  · Issue #73 · zhanhongtao/blog · GitHub

6.node邮件验证:Nodejs发邮件组件Nodemailer

选择适合的Node.js授权认证策略

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

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

或者node基础-文件系统node.js 文件操作, 有一个要注意的是 存储文件时,比如writefile写路径 要使用path.join(__dirname, “相对于当前文件路径”); 如path.join(__dirname, "../upload/recordList/" + generateID("record") + ".json");,后端要采用这种dirname的形式,前端可以直接写相对于当前文件路径的形式


node+express

1.整体介绍框架Express框架 -- JavaScript 标准参考教程(alpha)

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

3.session+cookie:node.js web开发:EXPRESS 4.x 以上使用session和cookie 的记录

express 框架之sessionexpress-session官网npmjs.com 的页面

Node.js Express 从入门到菜鸟(二)——Cookie+Session+三层搭建

express 4.2.0 使用session和cookies

在Express 使用session 做登录控制

去 掉flash之后,可以只用session,在每次post一开始 置req.session.error为null,之后,验证过程中,检查错误再设置req.session.error,然后根据结果redirect 之后,检测是否error为null,来决定是否展示

node session保存的只是中间键值对,不管赋予res.locals.user等,都不是对象,需要在中间件中重新生成对象,才能调用方法,当然如果只是使用属性值,则不需要

4.express基本的中间件官方网站:senchalabs/connect · GitHub


node+mysql

1.node所用的mysql官网:felixge/node-mysql · GitHub

2.Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql)

3.用Nodejs连接MySQL

4.三种常用数据库(Oracle、MySQL、SQLServer)的分页之MySQL分页

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


express+ejs

1.EJS学习总结 -  双月通天的个人空间

2.EJS 模板快速入门

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

4.ejs我的总结:


ejs 写法:

普通传入并使用变量:<%= title %>

普通for执行js代码(for中间的代码一定可以执行到):

<% for(var i=0; i

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

    特殊if语句的js代码(if中间的额代码不一定可以执行到):

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

    class="active"

    <% }%>>


    jquery

    1.jQuery 教程

    2.jQuery工具方法 -- JavaScript 标准参考教程(alpha)

    3.在线文档-jquery

    4.jQuery设计思想!!


    jquery ui

    1.jQuery UI

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

    3.jQuery UI 实例

    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.补充:学会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开发Node.js应用

    3.git生成ssh key及本地解决多个ssh key的问题写的非常清楚

    4.Generating SSH keys


    js:

    1.对象本身方法,可以用于对这类对象的工具类方法,当作对象manager方法

    对象原型中方法,用于每个不同对象实例的方法

    2.Javascript异步编程的4种方法callback尽量写成return callback()

    3.JS对象类型的确定

    4.js取属性,一般用object.pro ,如果需要动态确定属性,可以使用 object['dynamic'+pro],动态取属性,包括session,虽然为键值对,但这样也可以


    json:

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


    后端更新前端:

    1.怎么使用 JavaScript 将网站后台的数据变化实时更新到前端? - 前端开发

    2.Socket.io在线聊天室

    3.迈出nodejs的第二步,用nodejs+socket.io搭建一个websocket聊天室

    4.使用Node.js实现数据推送

    5.Automattic/socket.io · GitHub

    6.Nodejs实现websocket的4种方式


    RESTFul:

    1.Pixelhandler's Blog

    2.理解RESTful架构


    杂:

    1. passportJS配置用户验证:PassportJS 配置失败:req.user 未定义

    Passport  | Configure

    2.回调函数:回调函数,就是放在另外一个函数(如 parent)的参数列表中,作为参数传递给这个 parent,然后在 parent 函数体的某个位置执行。理解javascript中的回调函数(callback)_javascript技巧

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

    4.app.locals和res.locals图灵社区 : 阅读 : express配置项more

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

    6.在 CSS 中如何使用百分比设置页面 Div 高度? - 前端开发

    7.HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解(转载)

    8.文件上传的渐进式增强

    拖动上传 js库:Dropzone.js

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

    gojs.net/latest/index.h

    10js 网页分析:Google Analytics Official Website

    11.js network网状图 ,时间线,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:可以实现从多处上传,选择文件

    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】清除浮动(clearfix 和 clear)的用法

    六种实现元素水平居中

    17.button css库:Buttons - 一个高度可定制的按钮(button) CSS 样式库。

    18.Html 解决长串英文字母显示不能自动换行

    19.非input元素使用focus等方法:让元素获得焦点

    20.text file等在表单中同时上传时,记得表单设enctype="multipart/form-data",否则可能拿不到数据,还有一个,ajax传输data,记得设置data-type为json,尤其jstree使用ajax传输节点

    21.多文件,多图片上传预览,进度等,可以用webuploader,busboy等

    22.busboynodejs+busboy实现文件上传npmjs.com/package/busbo

    23.前端字体:字体选择_有字库

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

    24.404 not found 网页设计真没见识过,原来404错误页面可以这样设计

    25.阅读以 JavaScript 编写的本地文件FileReader - Web API 接口读写客户端本地文件

    26.chrome下 页面退出时发送ajax写法:

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

    {

    //this will work only for Chrome

    $.ajax({

    type:'GET',

    url:'/ajaxRequest/myClassesOfteacherclose',

    async:false

    });

    });

    27.前端中下面两个的$('a').text()是不一样的,会计算空格


    性能优化:

    1.!!!毫秒必争,前端网页性能最佳实践

    2.HTML 5 应用程序缓存

    3.Lazy Load Plugin for jQuery

    最后编辑于
    ©著作权归作者所有,转载或内容合作请联系作者
    • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
      沈念sama阅读 158,736评论 4 362
    • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
      沈念sama阅读 67,167评论 1 291
    • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
      开封第一讲书人阅读 108,442评论 0 243
    • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
      开封第一讲书人阅读 43,902评论 0 204
    • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
      茶点故事阅读 52,302评论 3 287
    • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
      开封第一讲书人阅读 40,573评论 1 216
    • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
      沈念sama阅读 31,847评论 2 312
    • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
      开封第一讲书人阅读 30,562评论 0 197
    • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
      沈念sama阅读 34,260评论 1 241
    • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
      茶点故事阅读 30,531评论 2 245
    • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
      茶点故事阅读 32,021评论 1 258
    • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
      沈念sama阅读 28,367评论 2 253
    • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
      茶点故事阅读 33,016评论 3 235
    • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
      开封第一讲书人阅读 26,068评论 0 8
    • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
      开封第一讲书人阅读 26,827评论 0 194
    • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
      沈念sama阅读 35,610评论 2 274
    • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
      茶点故事阅读 35,514评论 2 269

    推荐阅读更多精彩内容

    • 搭建开发环境并模拟交互数据 一、实验说明 下述介绍为实验楼默认环境,如果您使用的是定制环境,请修改成您自己的环境介...
      玄月府的小妖在debug阅读 2,053评论 0 15
    • Chapter01.简介 NodeJS是让JavaScript脱离浏览器运行在服务器的一个平台,不是语言。 Nod...
      JunChow520阅读 926评论 0 9
    • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
      kirito_song阅读 2,419评论 1 37
    • 本文收集了 Node.js 中常用的工具、依赖包和插件等,涵盖了 应用、后端框架、前端框架、UI 组件、工具库、功...
      djyuning阅读 6,146评论 0 12
    • 今天我想写写我的儿子。我认为他是我来到这个世界上最完美最独一无二的杰作。 我的儿子他名李字觉。“觉”寓意先知先觉或...
      有钱涂么阅读 568评论 1 4