如何系统地学习Node.js?
转载自知乎:http://www.zhihu.com/question/21567720
-----------------------------------------------------------------------------------------------------
Node:
1.《nodejs入门》,才38页,很好,书中项目做一下,学会基础
2.《nodejs开发指南》。180多页,很好,书中项目做一下,知道基础,及基本的配合express,jquery,bootstrap,数据库MongoDB
另附一些node实现书中例子的一些变化使用Express3.0实现<Node.js开发指南
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 module Modules · 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 框架之session express-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)
4.三种常用数据库(Oracle、MySQL、SQLServer)的分页之MySQL分页
5.sq语句注意顺序,order by group by limit..一般放在where后面
express+ejs
3.nodejs express template (模版)的使用 (ejs + express)_node.js 笔记
4.ejs我的总结:
ejs 写法:
普通传入并使用变量:<%= title %>
普通for执行js代码(for中间的代码一定可以执行到):
<% for(var i=0; i<headerNavbar.length; i++) {%>
<li><a href="/reg"><%= headerNavbar[i].name %></a></li>
<% } %>
特殊if语句的js代码(if中间的额代码不一定可以执行到):
<% if(active=='index'){%>
class="active"
<% }%>>
jquery
2.jQuery工具方法 -- JavaScript 标准参考教程(alpha)
4.jQuery设计思想!!
jquery ui
2.中文API:http://www.css88.com/jquery-ui-api/
4.jqueryrain神站:tabs:80+ Best jQuery Tabs with Examples
js tree 库:15+ jQuery Treeview Plugin & jQuery Tree with Example
Bootstrap:
1.基本CSS样式 · Bootstrap v2
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:
3.git生成ssh key及本地解决多个ssh key的问题 写的非常清楚
js:
1.对象本身方法,可以用于对这类对象的工具类方法,当作对象manager方法
对象原型中方法,用于每个不同对象实例的方法
2.Javascript异步编程的4种方法 callback尽量写成return callback()
4.js取属性,一般用object.pro ,如果需要动态确定属性,可以使用 object['dynamic'+pro],动态取属性,包括session,虽然为键值对,但这样也可以
json:
1.jquery操作:jQuery中读取json文件
后端更新前端:
1.怎么使用 JavaScript 将网站后台的数据变化实时更新到前端? - 前端开发
3.迈出nodejs的第二步,用nodejs+socket.io搭建一个websocket聊天室
5.Automattic/socket.io · GitHub
RESTFul:
杂:
1. passportJS配置用户验证:PassportJS 配置失败:req.user 未定义
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之完全详解(转载)
拖动上传 js库:Dropzone.js
9.js diagram 需求图:JointJS - the HTML 5 JavaScript diagramming library.
http://gojs.net/latest/index.html
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
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 样式库。
19.非input元素使用focus等方法:让元素获得焦点
20.text file等在表单中同时上传时,记得表单设enctype="multipart/form-data",否则可能拿不到数据,还有一个,ajax传输data,记得设置data-type为json,尤其jstree使用ajax传输节点
21.多文件,多图片上传预览,进度等,可以用webuploader,busboy等
22.busboy nodejs+busboy实现文件上传https://www.npmjs.com/package/busboy
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()是不一样的,会计算空格
<a class='button'>关注</a>
<a class='button'>
关注
</a>
性能优化:
1.!!!毫秒必争,前端网页性能最佳实践
持续更新~~
作者:宝盖头和繁弱
链接:http://www.zhihu.com/question/21567720/answer/43795625
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
如何系统地学习Node.js?的更多相关文章
- 给迷茫的你学习Node.js最好的方法
这是真事儿,在3w咖啡整理书稿,然后小弟梁过来了,聊聊他的现状,一副很不好的样子,在天津我曾带过他大半年,总不能不管,我给他的建议是:“每天看10个npm模块” 对于学习Node.js迷茫的人来说,这 ...
- 转载:【知乎Live】狼叔:如何正确的学习Node.js
[知乎Live]狼叔:如何正确的学习Node.js 作者:狼叔:i5ting 原文链接:https://i5ting.github.io/How-to-learn-node-correctly/
- 学习node js 之微信公众帐号接口开发 准备工作
绪:因工作须要,近期開始学习Node js,之前隐隐约约听到过node js 但没有实际见到过,仅仅好google了:至于什么是node js,能做些什么,有多么好.或者有哪些弊端我这里就不多说了,由 ...
- 【灵魂拷问】你为什么要来学习Node.js呢?
[灵魂拷问]你为什么要来学习Node.js呢? 学习node.js适合的人群: 需要必备一些HTML,CSS,JavaScript及编程有一定程度了解的读者阅读,一些简单的命令行操作,具备服务端开发经 ...
- 学习 Node.js 的 6 个步骤
第一步 对于刚接触Node.js的新手来说,第一步无非是打好基础,你需要弄明白以下事情: JavaScript 的特性和语法.假如你对 JavaScript 还不熟悉的话,推荐书籍及链接: JavaS ...
- 学习 node.js 搭建web服务器
开始 学习使用 node.js 首先完成搭建一个 web服务器.myweb.js var http = require('http'); var url = require('url'); var h ...
- 学习node.js的一些笔记
最近看了几眼node.js,以前曾听说它用途很大. 在菜鸟教程上,已看了过半的内容:http://www.runoob.com/nodejs/nodejs-web-module.html,如今看到了这 ...
- 第一天 :学习node.js
① node.js环境配置 我学过的语言最简单的一门 直接百度就可以配置 ② 每个入门 的程序都是从helloworld开始 代码如下 : var http=require('http'); http ...
- 学习Node.js笔记(一)
一.什么是Node.js 1.1.Node.js是什么 Node.js是用来编写高性能网络服务器的JavaScript工具包 Node.js 是一个基于Chrome JavaScript 运行时建立的 ...
随机推荐
- Codeforces Round #288 (Div. 2)D. Tanya and Password 欧拉通路
D. Tanya and Password Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/508 ...
- 字符集乱码问题:ISO-8859-1和GBK
问题,引用百度知道的问题吧: http://zhidao.baidu.com/question/51342167.html?qbl=relate_question_0&word=%C3%84% ...
- 图片流Base64编码 转图片
using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Web; ...
- WEB的相关知识总结
JS-->OOP/Module, DOM, JSON, AJAX------------------><script>, script.js的内容 HTML/JS/CSS HT ...
- as3.0 interface接口使用方法
[转]as3.0 interface接口使用方法 AS在2.0的时候就支持接口了 接口能够让你的程序更具扩展性和灵活性,打个例如 比方你定义了一个方法 代码: public function aMet ...
- ACM-经典DP之Monkey and Banana——hdu1069
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- j简单的递归
1 某人写了n封信和n个信封,如果所有的信都装错了信封.求所有的信都装错信封共有多少种不同情况. 归纳法例子 1.有n个硬币(n为偶数)正面朝上排成一排,每次将n-1个硬币翻成朝上为止.编程让计算机把 ...
- 词法分析器Demo
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Lexe ...
- git无法连接bitbucket/github时,出现"Permission deied(publickey)"
Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you ha ...
- CAKeyframeAnimation 旋转动画