zoukankan      html  css  js  c++  java
  • Node.js学习笔记

    nodejs脚本模式和交互模式
    node server.js:启动node server

    你可以将数据存储在变量中,并在你需要的使用它。
    变量声明需要使用 var 关键字,如果没有使用 var 关键字变量会直接打印出来。
    使用 var 关键字的变量可以使用 console.log() 来输出变量。

    REPL 命令
    ● ctrl + c - 退出当前终端。
    ● ctrl + c 按下两次 - 退出 Node REPL。
    ● ctrl + d - 退出 Node REPL.
    ● 向上/向下 键 - 查看输入的历史命令
    ● tab 键 - 列出当前命令
    ● .help - 列出使用命令
    ● .break - 退出多行表达式
    ● .clear - 退出多行表达式
    ● .save filename - 保存当前的 Node REPL 会话到指定文件
    ● .load filename - 载入当前 Node REPL 会话的文件内容。

    回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。

    Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。
    Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。
    Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。
    Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数.

    npm:NodeJs包管理器
    express:服务器端比较流行的MVC框架,处理服务请求,路由转发,逻辑处理
    mongoose:mongodb包装,更方便使用数据库
    http://socket.io:实现服务端和客户端socket通信解决方案
    backbone:客户端MVC框架,编写客户端应用(豆瓣说)
    coffeescript:提高JavaScript的可读性,健壮性
    zombie:浏览器子集,编写html解析器,轻型javascript客户端测试

    Express 是一个简洁而灵活的 node.js Web应用框架
    Express 框架核心特性:
    可以设置中间件来响应 HTTP 请求。
    定义了路由表用于执行不同的 HTTP 请求动作。
    可以通过向模板传递参数来动态渲染 HTML 页面。

    Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用

    nodejs作为一个新兴的后台语言,有很多吸引人的地方:
    RESTful API
    单线程
    Node.js可以在不新增额外线程的情况下,依然可以对任务进行并行处理 —— Node.js是单线程的。它通过事件轮询(event loop)来实现并行操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。
    非阻塞IO
    V8虚拟机
    事件驱动[4]


    Node.js是让Javascript脱离浏览器运行在服务器的一个平台,不是语言;

    Node.js采用的Javascript引擎是来自Google Chrome的V8;运行在浏览器外不用考虑头疼的Javascript兼容性问题

    采用单线程、异步IO与事件驱动的设计来实现高并发(异步事件也在一定程度上增加了开发和调试的难度);

    Node.js内建一个HTTP服务器,所以对于网站开发来说是一个好消息;

    events是node.js 最重要的模块,events模块只提供了一个对象events.EventEmitter,EventEmitter 的核心是事件发射与事件监听器。
    Node.js中大部分的模块,都继承自Event模块。
    与DOM树上事件不同,不存在事件冒泡、逐层捕获等行为。
    EventEmitter 支持若干个事件监听器。当事件发射时,注册到这个事件的事件监听器被依次调用,事件参数作为回调函数参数传递。

    nodejs服务启动
    1.在sublime中运行过后,如果想要关闭,去任务管理器中结束node.exe进程
    2.不在sublime中运行,可以在cmd中执行node app,关闭使用快捷键Ctrl+C

    api:
    http://expressjs.com/zh-cn/4x/api.html

    http://expressjs.com/en/resources/frameworks.html

  • 相关阅读:
    .linearDrag on rigidbody / rigidbody2D in code?
    Unity5权威讲解+项目源码+MP4
    C#的扩展方法解说
    use crunch compression
    IIS服务命令
    使用批处理打开控制面板中的功能
    一次性在一个文件夹里建立多个文件夹
    bat 批处理切换到当前脚本所在文件夹
    %date~0,4%和 %time~0,2%等用法详解(转)
    DOS批处理高级教程(还不错)(转)
  • 原文地址:https://www.cnblogs.com/cby-love/p/6720844.html
Copyright © 2011-2022 走看看