nodejs学习手记(1)

主要应用领域

RESTFul API
实时通信
高并发
I/O阻塞

社区

生于社区
社区推进
github
国内

生态圈

以NPM为中心
sublime 编辑器

异步的实现方式

回调函数
事件监听
订阅/发布

node.js的缺点

大量采用匿名函数,使得抛出的异常不易阅读
try/catch 限于同步代码  无法处理异步的 异步采用标志参数处理
单线程:可靠性         代码严谨
不适合CPU密集的操作 nodejs的C语言扩展
回调的代码影响阅读       尽量友好的

node.js的执行环境

Google V8
文件系统
网络功能(HTTP/TCP/UDP)
二进制数据
数据流
加密与解密

开发工具

webstrom
sublime

调试工具

WebStorm
nodemon
node-inspector
Chrome Developer Tools

windows下开发环境搭建

虚拟机、Linux
xShell、xFtp
node.js
MongoDB 
redis
sublime Text
WebStrom

node.js Express 框架

API站点:
  expressjs.com/en/4x/api.html
express 几个模块:
  1、express()
  2、Application
  3、Request
  4、Response
  5、Router

express.js的配置与路由

middleware:  //中间件
    app.use
    app.get
    app.post

request:
    req.params
    req.query
    req.body

resopnse:
res.send()
next()

img

code demo


var express = require('express');   //引入模块
var app = express();


var questions = {
    {
        id:1,
        title:'t1',
        asker:'you',
        course:'node.js',
        'last-reply':Date.now(),
        reply:1,
        state:'resolved'
    }
    {
        id:2,
        title:'t2',
        asker:'you',
        course:'node.js',
        'last-reply':Date.now(),
        reply:1,
        state:'unresolved'
    }

};

app.get('/questions',function(req,res){
    res.status(200);
    res.json(questions);
});

app.get('/questions/resolved',function(req,res){
    res.status(200);
    res.json(questions.filter(function(q){
    return q && q.state === 'resolved';
    }));
});

app.listen(8888);

#

node.js

创建node.js应用
var http = require("http"); //引入模块

http.createServer(function (request, response) {
    // 发送 HTTP 头部 
    // HTTP 状态值: 200 : OK
    // 内容类型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});
    // 发送响应数据 "Hello World"
    response.end('Hello World\n');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

node server.js  //启动http server

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
  ● 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  ● 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  ● 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "npm -v"来测试是否成功安装
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值