# Node.js Newbie
* linux操作系统和bash编程要会(以后要有一定的服务器部署、运维工作)
* vi是编辑器,需要会使用
* git必须会,目前最火的版本控制工具
* 常用命令行工具(ack,autojump等)
## 前端入门的4本书
* 精通CSS+DIV 网页样式与布局 [http://product.china-pub.com/35553](http://product.china-pub.com/35553)
* 精通CSS:高级Web标准解决方案(第2版)[http://product.china-pub.com/196593](http://product.china-pub.com/196593)
* 锋利的jQuery(第2版) [http://product.china-pub.com/3661548](http://product.china-pub.com/3661548)
* GitHub入门与实践 [http://product.china-pub.com/4727673](http://product.china-pub.com/4727673)
第一本书是傻瓜式的入门的书,老点,但简单,符合国人思维,入门html和css比较合适
第二本书是css领域不错的书,加深理解css,努力成为一个合格的前端
第三本书是jquery的书,也是很简单,为啥没有直接javascript的原因是,jq足够简单,先实习效果,以后再慢慢补js基础即可,如果上来就js,很多人是搞不定的
第四本书是git和github的用法,是版本控制里比较简单的,比较适合入门
## 要求
* ubuntu
* sublime text3(或者vsc [https://github.com/i5ting/vsc)](https://github.com/i5ting/vsc%EF%BC%89)
* 编码风格 [https://github.com/dead-horse/node-style-guide](https://github.com/dead-horse/node-style-guide)
* 常用命令行工具
## Tips
### 编辑器
只允许文本编辑器,不准使用任何IDE
使用sublime的快速打开文件
~~~
ctrl + p(mac是command + T)
~~~
在终端里使用subl命令打开文件,(如果是mac,需要安装[https://github.com/i5ting/subl)](https://github.com/i5ting/subl%EF%BC%89)
~~~
subl app.js
~~~
快速定位到某一行
~~~
ctrl + g (mac是command + L)
~~~
* [网上找的](http://my.oschina.net/nodeonly/blog/489463)
关于tab配置
~~~
{
"default_encoding": "UTF-8",
"default_line_ending": "unix",
"font_size": 10,
"rulers":
[
80
],
"tab_size": 2,
"translate_tabs_to_spaces": true,
"word_wrap": "false"
}
~~~
### 使用oh-my-zsh
* 官网 [http://ohmyz.sh/](http://ohmyz.sh/)
* 代码 [https://github.com/robbyrussell/oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh)
安装步骤
* 先安装zsh
* 安装oh-my-zsh
以后环境变量在~/.zshrc里
### 安装ack,命令行查找代码
[http://beyondgrep.com/install/](http://beyondgrep.com/install/)
Ubuntu
* Package "ack-grep"
sudo apt-get install ack-grep
Mac
* brew install ack
### 使用autojump跳转目录
[https://github.com/wting/autojump](https://github.com/wting/autojump)
Linux
~~~
sudo apt-get install autojump
~~~
Mac os
~~~
brew install autojump
~~~
需要修改~/.zshrc里的plugin,修改为
~~~
plugins=(git autojump)
~~~
然后
~~~
source ~/.zshrc
~~~
至此,已经完成了安装。
此后cd到任意目录,以后就可以使用j这个直达到某个目录了,下面是示例:
~~~
➜ nodejs-newbie git:(master) ✗ cd ~/workspace/github/nodejs-newbie
➜ nodejs-newbie git:(master) ✗ cd ~
➜ ~ j nodejs-n
/Users/sang/workspace/github/nodejs-newbie
➜ nodejs-newbie git:(master) ✗
~~~
如果想玩的更high,可以参见[https://github.com/clvv/fasd](https://github.com/clvv/fasd)
### 查询文档
* [http://zealdocs.org/](http://zealdocs.org/) (推荐,离线下载)
有很多doc在dash(mac)里默认是没有的;
see here : [http://kapeli.com/docset_links](http://kapeli.com/docset_links)
如果是下载到本地的docset,放到zealdocs目录下面,需要重启zeal
- 前言
- 1 skill
- 1.1 Coding WebIDE
- 1.2 git
- 1.3 extra practice
- 1.4 预习
- 2 nodejs入门
- 2.1 入门
- 2.2 安装
- 2.3 helloworld
- 2.4 commonJS规范
- 2.5 模块导出
- 2.6 Nodejs代码调试
- 2.7 编写Nodejs模块
- 2.8 最小化问题
- 2.9 随堂练习
- 3 异步流程控制
- 3.1 什么时候会用到异步流程控制
- 3.2 简单做法async模块
- 3.3 Promise/a+规范
- 3.4 Node.js Promise/a+实现
- 3.5 生成器Generators/yield
- 3.6 Async函数/Await
- 3.7 神奇的co
- 3.8 5种 yieldable
- 3.9 学习重点
- 3.10 随堂练习
- 4 express和微信开发入门
- 4.1 入门
- 4.2 connect
- 4.3 静态Http服务器
- 4.4 那些预处理器
- 4.5 路由
- 4.6 视图与模块引擎
- 4.7 中间件
- 4.8 更多实践
- 4.9 微信入门
- 4.10 随堂练习:完成登录、注册功能
- 5 微信实例与H5实践
- 5.1 微信基础和sandbox
- 5.2 公众号菜单和自动回复
- 5.3 微信OAuth用户授权
- 5.4 微信分享
- 5.5 wechat-api
- 5.6 H5-上篇
- 5.7 H5-下篇
- 5.8 随堂练习
- 6 weui实战
- 6.1 使用bower
- 6.2 移动端抽象
- 6.3 优化滑动列表
- 6.4 weui
- 6.5 让weui和iscroll结婚
- 6.6 优化事件
- 6.7 how-to-write-h5
- 6.8 优化无止境
- 6.9 随堂练习
- 7 微信支付
- 7.1 吹个牛
- 7.2 支付概述
- 7.3 科普几个概念
- 7.4 准备
- 7.5 调试
- 7.6 公众号支付(JSAPI)
- 7.7 对账单
- 7.8 数据处理
- 7.9 随堂练习
- 8 项目实战《付费课程系统MVP》
- 8.1 需求分析
- 8.2 ui/ue
- 8.3 技术栈
- 8.4 模型
- 8.5 静态api
- 8.6 开发
- 8.7 部署
- 8.8 监控
- 8.9 数据统计
- 8.10 demo
- 9 高级篇
- 9.1 前后端分离实践?
- 9.2 如何展望未来的大前端
- 9.3 容器和微服务
- 10 答疑问题收集