Node.js

一、Node.js 简介

   简单的说 Node.js 就是运行在服务端的可以解析运行 JavaScript 脚本的软件。

  Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

  Node.js是一个事件驱动I/O服务端JavaScript环境基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

二、Node.js 的特点

  1. 单线程 :不同于 Apache 服务器的多线程处理请求特点,这也决定了它可以已极低的内存消耗进行单线程处理更多的请求。

  2. 异步非阻塞 I / O ;

  3. 事件驱动;

  4. npm 包管理工具;

  5. 稳定性较差。

三、Linux系统中的安装使用

  1. 下载

    官方网址   : https://nodejs.org/en/

    中文网址 : http://nodejs.cn/

   2. 解压

    tar -xf node-v6.11.0-linux-x64.tar.xz

   3. 移动

    mv node-v6.11.0-linux-x64 /usr/local/node

   4. 配置

    环境变量

    vim ~/.bash_profile

    PATH=$PATH:$HOME/bin:/usr/local/node/bin

   5. 刷新

    source ~/.bash_profile

   6. 查看版本信息

    node -v

    npm -v

四、基本使用

    我们在服务器端编写 js 脚本,使用 node.js 输出 Hello World

 // 1. 引入 node 内置的 http 模块儿
var http = require('http'); // 2. 创建服务
var server = http.createServer(function(req, res)
{
// 逻辑代码 并给客户端返回结果 // 快速结束响应
res.end('hello world');
}); // 3. 监听端口
server.listen(8080);

五、npm 包管理工具的使用方法  

  npm

  简介

    可以理解为一个包依赖管理工具,好比360软件官家。

    https://www.npmjs.com/

  使用

  1.初始化 npm

    npm init --yes

  2.查找软件

    npm search formidable

  3.安装软件

   (1)记录安装信息(生产环境使用)

    这样安装会生成 package.json 文件,包含项目中安装的node_models

    便于转移项目。

      npm install formidable --save

    package.json 文件内容示例:

    {
      "dependencies": {
      "ejs": "^2.5.6",
      "express": "^4.15.3"
      }
    }

   (2)不记录安装信息

      npm install formidable

  4.移除软件

    npm uninstall fomidable

  5.查看已经安装的包列表

    npm list

  6.配置中文镜像

    npm install -g cnpm --registry=https://registry.npm.taobao.org

    配置后,安装模块,删除模块使用cnpm 调用命令

  7.模块的使用

    模块的加载机制

    路径

      绝对路径

      相对路径

    模块的使用

      npm init --yes

      npm install formidable

    删除 node_modules

      npm uninstall formidable

Node.js 学习笔记(一)--------- Node.js的认识和Linux部署的更多相关文章

  1. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  2. Node.js学习笔记(1) - Node.js简介

    近期在看一些Node.js的知识,看完后觉得,一些前面的东西忘记了,于是整理一下,方便自己查阅,也希望对学习Node.js的朋友有些帮助: 当然以下只是我个人的观点和理解,不喜勿喷,也望大神指教. 一 ...

  3. Node.js学习笔记(2) - Node.js安装及入门hello world

    今天来简单的记录一下Node.js的安装配置以及简单的入门 一.Node.js的安装 1.windows下的安装 windows下的安装很简单,只需要去官网http://nodejs.org中,找到w ...

  4. Node.js学习笔记(八) --- Node.js的路由模块封装

    1 .模块化的方式封装 整理中… 2 .封装仿照 express 的路由整理中…

  5. Node.js学习笔记(七) --- Node.js的静态文件托管、路 由、EJS 模板引擎、GET 、POST

    1 . Nodejs 静态文件托管静态 web 服务器封装 2 . 路由 官方解释:  路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET.POST 等)组成的, ...

  6. JS学习笔记(模态框JS传参)

    博主最近基于django框架的平台第一版差不多完成了 今天整理下开发过程中遇到的前端知识 基于前端bootstrap框架模态框传参问题 上前端html代码: <div class="m ...

  7. 2019-4-29 js学习笔记

    js学习笔记一:js数据类型   1:基本数据类型       number类型(整数,小数)      String类型          boolean类型        NaN类型其实是一个nu ...

  8. 基于jquery的插件turn.js学习笔记

    基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...

  9. 一点感悟:《Node.js学习笔记》star数突破1000+

    写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...

  10. Node.js学习笔记(3):NPM简明教程

    Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...

随机推荐

  1. 【OpenCV3】直线拟合--FitLine()函数详解

    一.FitLine()函数原型 CV_EXPORTS_W void fitLine( InputArray points, // 待输入点集(一般为二维数组或vector点集) OutputArray ...

  2. [原创]PHP使用Redis实现Session共享

    目录 前言 设计方案 1. 通过php自身session配置实现 2. 设置用户自定义会话存储函数 前言 小型web服务, session数据基本是保存在本地(更多是本地磁盘文件), 但是当部署多台服 ...

  3. 基于Allwinner的Audio子系统分析(Android-5.1)

    前言 一直想总结下Audio子系统的博客,但是各种原因(主要还是自己懒>_<),一直拖到现在才开始重新整理,期间看过H8(Android-4.4),T3(Android-4.4),A64( ...

  4. start and end call use itelephony and how to pick up a call

    Bluetooth Headset service: 但想想而已. 没有蓝牙耳机如何调用它来接听电话.想想有点搞笑. 网上扒的通过添加一个ITelephony.aidl来反射,注意aidl的写法,如果 ...

  5. redis之 集群配置(主从复制)

    集群的作用: 集群的方式有二种: 第二种的好处是:master宕机以后可以直接切换到slave1 主从通信的过程 先通过dump导出大块的rdb 然后把aof缓冲过来,然后通过replicationf ...

  6. redis 持久化之 rdb 快照持久化

    解释1: 虽然redis是单进程,但是它有一个单独的子进程进行rdb操作,为了保证的数据的一致性,当进行rdb操作失败的时候,主进程就停止写入 所以才有了stop-write-on-bgsave-er ...

  7. Mac版sublime text右键open in browser 不能识别中文名解决办法

    问题描述: Mac下sublime text下打开中文命名的html文件,右键open in browser,浏览器无反应. 解决思路: 要么适应软件,要么改进软件来适应. 1.  将中文名的html ...

  8. Javac之关于方法的选择

    15.12. Method Invocation Expressions 15.12.1. Compile-Time Step 1: Determine Class or Interface to S ...

  9. python-单链表的实现

    #!/usr/bin/python class Node(object): def __init__(self,value,next=None): self.value,self.next=value ...

  10. AngularJS 的常用特性(三)

    6.表达式  在模板中使用表达式是为了以充分的灵活性在模板.业务逻辑和数据之间建立联系,同时又能避免让业务逻辑渗透到模板中. <div ng-controller="SomeContr ...