前言

  1. 不废话直接官网下载安装
  2. windows安装很简单,双击ok. 完成后命令行输入node -v. 会提示版本号,说明安装成功(Node.js 还自动附带安装了 npm,类似ruby的gem)。
  3. linux安装。对于linux我是菜鸟,并且安装要麻烦一些,俺废了一天的劲终于在centos下安装完成。后来一问才知道人家大神都是直接命令行的那种系统,瞬时崩溃了。 大概总结下来就是:注意python的编译环境,时刻注意自己的权限够不够。

4. sublime text  一个灰常不错的编辑器.   使用入门

开始干活

1. 来个helloworld

创建test.js   输入:console.log('hello world');

打开命令行到你的当前目录(test.js所在目录),执行  node  test.js   回车。

如下图所示  

2.  $ node -e "console.log('Hello World');"

Hello World

        3.   $ node

>console.log('hello world');

Hello World

undefind

需要注意的地方:第一句话是打印的结果,第二句话是说函数返回值。

4.  创建httprequest如此简单

a. 新建test1.js.  拷贝如图代码, node test1.js.

b. 打开浏览器,输入   http://localhost:3000/  可以看到效果。web版hello world.

var http = require('http');

http.createServer(function(req,res){

  res.writeHead(200,{'content-type':'text/html'});
res.write('<h1>Node.js</h1>');
res.end('<p>hello world</p>');
}).listen(3000); console.log('http server is listening at port 3000');

这个模块中第一句话 require('http').  是应用node.js中的http模块。 凡是node.js提供的模块均可以直接require.

5. 通过上面运行,可以看到和asp.net 有一些不同。 asp.net 是通过浏览器发出请求->IIS->解析渲染成html返回。 而node则直接面向浏览器。

总结

         1. node.js不是javascript库,和jquery、extjs不能相提并论。node.js是让脚步运行在服务端的平台.

2.  npm是node.js包管理器,可以全局安装,也可以只安装到工作目录。重复利用的一般选择全局安装,而本地安装则一般是当前程序使用。

3.  在windows下安装,会在自动配置环境变量。所以可以直接输入node命令。

4.  第三方包够不够多:

npm)Total Packages: 49 639

node.js够不够活跃

1 154 560 downloads in the last day
29 060 396 downloads in the last week

5. node.js架构:  说实在的这张图我看到node下层接口,在向下就看不懂了,V8我还知道一些,google浏览器就是基于v8引擎开发,而javascritp在google运行良好,所以我也更好的理解了node.js。

来自Node.js开发指南

5. 事件驱动,异步:

a. nodejs内部是单进程,单线程的方式运行。nodejs通过单线程维护一个事件循环队列来应对http并发的访问,同时也避免了进程/线程之间的切换。那么对未来服务器的多核时代、甚至是众核nodejs是怎么处理的。我的理解是nodejs调用C++代码,c++代码实现多线程,这样暴露api供nodejs使用者调用,实现充分利用cpu。后来看到文章(nodejs多线程,真正的非阻塞),更坚定了学习node的信心。

b. 放眼望去全是callback.   同步和异步就是 m+n  和  max(m,n)。这样node.js开发就要求我们转换开发思路。

6. 为什么要趁热,看很多资料发现都调试不过,我就各种查询也了解了很多知识,才可以调试通过。

7.  node擅长干什么,不擅长干什么?

nodejs为网络而生,剩下的就不用说了。

nodejs不适合做什么? (以下内容来自nodejs开发指南)

a. 计算密集型的程序

b. 单用户多任务型应用

c. 逻辑十分复杂的事务

d. unicode与国际化

8. 有问题还是去 stackoverflow

9. 中文资料汇总

参考资料:

深入浅出node.js

node.js学习指南

下一站:

使用express创建一个网站,数据库使用mongodb.

模板使用ejs.

趁热打铁学node的更多相关文章

  1. 从零开始学node(一): nodejs开发环境的配置

    从零开始学node系列(一): nodejs环境安装 一.安装node.js 1. node官网,node安装十分方便快捷,所以这一步还是很顺利的. 2. webstorm是一款强大的前端开发IDE, ...

  2. 打算写一个《重学Node.js》系列,希望大家多多支持

    先放上链接吧,项目已经开始2周了:https://github.com/hellozhangran/happy-egg-server 想法 现在是2019年11月24日,还有人要开始学习Node.js ...

  3. 一起来学node.js吧 node school简介

    node.js这几年火爆的简直丧心病狂,去lagou.com查查node.js的职位,那叫一个多. 要说火爆到什么程度,竟然有一个网站专门去教大家学习node.js, Node School. 进去逛 ...

  4. 让我们一起学Node.js-文章列表

    新浪的博客最近不给力,只好在博客园落个窝.至此之后,技术随笔会在博客园以及新浪的博客上同时更新,如果新浪给力的话~~~ 如果你想看先前新浪博客上分享的技术,请点击此处 忘尘子新浪博客! 我是拜读了朴灵 ...

  5. .NET程序员也学Node.js——初识Node.js

    清明在石门休了八天假,一眨眼,4月又到中旬了...看到.NET在天朝彻底沦陷而又无能为力,我开始尝试去学习一些新的东西来充实自己,我自然是打死不会去学java的,没有为什么,于是乎,最近开始学习一些前 ...

  6. 为什么 2020 还要学 Node.js

    更佳阅读体验 https://www.yuque.com/sunluyong/node 前言 前些日子刷知乎看到个 2019 年初的问题 2019年nodejs凉了吗?凉到什么程度了?才看到问题的时候 ...

  7. 手把手教你学node.js 之使用 eventproxy 控制并发

    使用 eventproxy 控制并发 目标 建立一个 lesson4 项目,在其中编写代码. 代码的入口是 app.js,当调用 node app.js 时,它会输出 CNode(https://cn ...

  8. 手把手教你学node.js之使用 superagent 与 cheerio 完成简单爬虫

    使用 superagent 与 cheerio 完成简单爬虫 目标 建立一个 lesson 3 项目,在其中编写代码. 当在浏览器中访问 http://localhost:3000/ 时,输出 CNo ...

  9. 手把手教你学node.js之学习使用外部模块

    学习使用外部模块 目标 建立一个 lesson2 项目,在其中编写代码. 当在浏览器中访问 http://localhost:3000/?q=alsotang 时,输出 alsotang 的 md5 ...

随机推荐

  1. python socket编程和黏包问题

    一.基于TCP的socket tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端,有顺序,不重复,可靠.不会被加上数据边界. server端 import socket sk = so ...

  2. orcale数据库分配用户

    account lock:创建用户的时候锁定用户 account unlock:创建用户的时候解锁用户,默认该选项 create user zhou8–用户名 identified by zhou88 ...

  3. 经典面试题:js继承方式上

    js不是传统的面向对象语言,那么他是怎么实现继承的呢?由于js是基于原型链实现的面向对象,所以js主要通过原型链查找来实现继承,主要有两大类实现方式,分为基于构造函数的继承,以及非构造函数的继承. 由 ...

  4. java基础63 JavaScript中的Number、Math、String、Date对象(网页知识)

    本文知识点(目录): 1.Number对象    2.Math对象    3.String对象    4.Date对象 (日历例子) 1.Number对象 1.1.Number对象的创建方式 方式1: ...

  5. JAVA复习笔记之GC部分

       前言:垃圾回收机制,大家都知道JAVA的垃圾回收都是JVM自动回收的,不需要程序员去管理.但是我们还是得知道原理才能在适当时机进行JVM调优 原理:当我们new 一个对象时JVM堆区就会分配一块 ...

  6. MVC图片上传并显示缩略图

    前面已经说了怎么通过MVC来上传文件,那么这次就说说如何上传图片然后显示缩略图,这个的实用性还是比较大.用UpLoad文件夹来保存上传的图片,而Temp文件夹来保存缩略图,前面文件上传部分就不再重复了 ...

  7. 【hihoCoder】#1513 : 小Hi的烦恼

    题解 我会五维数点辣 只要用个bitset乱搞就好了 记录一下rk[i][j]表示第j科排名为i的是谁 用30000 * 5个大小为30000的bitset s[i][j]是一个bitset表示第j科 ...

  8. USACO 5.4 Character Recognition

    Character Recognition This problem requires you to write a program that performs character recogniti ...

  9. USACO 5.2 Snail Trails

    Snail TrailsAll Ireland Contest Sally Snail likes to stroll on a N x N square grid (1 <n <= 12 ...

  10. 基于 SSH 框架的 Criteria 和 DetachedCriteria 多条件查询

    Hibernate 定义了 CriteriaSpecification 接口规范用来完成面向对象的条件查询,Criteria 和 DetachedCriteria 就是 CriteriaSpecifi ...