前言javascript
4. sublime text 一个灰常不错的编辑器. 使用入门
html
开始干活java
1. 来个helloworld node
建立test.js 输入:console.log('hello world'); python
打开命令行到你的当前目录(test.js所在目录),执行 node test.js 回车。jquery
以下图所示 linux
2. $ node -e "console.log('Hello World');"c++
Hello Worldgit
3. $ nodegithub
>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.