zoukankan      html  css  js  c++  java
  • Note.js

    原文转载自宋海宾博客

    1.概述

    简单的说 Node.js 就是运行在服务端的 JavaScript。

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

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

    2.安装

    2.1 Windows版本安装

    Node.js 安装包及源码下载地址为:https://nodejs.org/en/download/

    历史版本:https://nodejs.org/dist/

    设置全局变量:https://www.cnblogs.com/zyma/p/10908893.html

    2.2 Linux版本安装

      直接使用已编译好的包

    Node 官网已经把 linux 下载版本更改为已编译好的版本了,我们可以直接下载解压后使用:

    复制代码
    # wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz    // 下载
    # tar xf  node-v10.9.0-linux-x64.tar.xz       // 解压
    # cd node-v10.9.0-linux-x64/                  // 进入解压目录
    # ./bin/node -v                               // 执行node命令 查看版本
    v10.9.0
    复制代码

    2.3 源码版本安装

    复制代码
    sudo git clone https://github.com/nodejs/node.git
    Cloning into 'node'...
    修改目录权限:
    
    $ sudo chmod -R 755 node
    使用 ./configure 创建编译文件,并按照:
    
    $ cd node
    $ sudo ./configure
    $ sudo make
    $ sudo make install
    复制代码

    2.4 Centos安装

    CentOS 下源码安装 Node.js

    1、下载源码,你需要在https://nodejs.org/en/download/下载最新的Nodejs版本,本文以v0.10.24为例:

    cd /usr/local/src/
    wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz

    2、解压源码

    tar zxvf node-v0.10.24.tar.gz

    3、 编译安装

    cd node-v0.10.24
    ./configure --prefix=/usr/local/node/0.10.24
    make
    make install

    4、 配置NODE_HOME,进入profile编辑环境变量

    vim /etc/profile

    设置 nodejs 环境变量,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:

    #set for nodejs
    export NODE_HOME=/usr/local/node/0.10.24
    export PATH=$NODE_HOME/bin:$PATH

    :wq保存并退出,编译/etc/profile 使配置生效

    source /etc/profile

    验证是否安装配置成功

    node -v

    输出 v0.10.24 表示配置成功

    npm模块安装路径

    /usr/local/node/0.10.24/lib/node_modules/

    注:Nodejs 官网提供了编译好的 Linux 二进制包,你也可以下载下来直接应用

    3. 使用

    创建 Node.js 应用

    步骤一、引入 required 模块

    我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,实例如下:

    var http = require("http");

    步骤二、创建服务器

    接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。

    实例如下,在你项目的根目录下创建一个叫 server.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
    ');
    }).listen(8888);
    
    // 终端打印如下信息
    console.log('Server running at http://127.0.0.1:8888/');

    以上代码我们完成了一个可以工作的 HTTP 服务器。

    使用 node 命令执行以上的代码:

    node server.js
    Server running at http://127.0.0.1:8888/

    接下来,打开浏览器访问 http://127.0.0.1:8888/,你会看到一个写着 "Hello World"的网页。

    4. NPM 使用介绍

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

    • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
    • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
    • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

    由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。命令如下,出现版本提示表示安装成功:

    $ npm -v
    2.3.0

    npm 安装 Node.js 模块语法格式如下:

    $ npm install <Module Name>

    以下实例,我们使用 npm 命令安装常用的 Node.js web框架模块 express:

    $ npm install express

    安装好之后,express 包就放在了工程目录下的 node_modules 目录中,因此在代码中只需要通过 require('express') 的方式就好,无需指定第三方包路径。

    var express = require('express');

    如果你希望具备两者功能,则需要在两个地方安装它或使用 npm link

    接下来我们使用全局方式安装 express

    $ npm install express -g

    查看安装信息

    你可以使用以下命令来查看所有全局安装的模块:

    $ npm list -g


    如果要查看某个模块的版本号,可以使用命令如下:

    $ npm list grunt

    卸载模块

    我们可以使用以下命令来卸载 Node.js 模块。

    $ npm uninstall express

    卸载后,你可以到 /node_modules/ 目录下查看包是否还存在,或者使用以下命令查看:

    $ npm ls

    更新模块

    我们可以使用以下命令更新模块:

    $ npm update express

    搜索模块

    使用以下来搜索模块:

    $ npm search express

    接下来我们可以使用以下命令在 npm 资源库中注册用户(使用邮箱注册):

    $ npm adduser


     
  • 相关阅读:
    [后缀数组] Luogu P5028 Annihilate
    [后缀数组] Luogu P3809 后缀排序
    [差分][线段树] Luogu P4243 等差数列
    [线段树] Luogu P4314 COU监控
    [二分][dp凸优化] Luogu P4383 林克卡特树lct
    [树上差分][dfs] Luogu P4652 One-Way Streets
    [dfs][思维] Luogu P3208 矩阵
    [dfs][二进制状压] Luogu P4906 小奔关闹钟
    [容斥] Luogu P5339 唱、跳、rap和篮球
    [dfs][模拟网络流] Luogu P4189 星际旅行
  • 原文地址:https://www.cnblogs.com/finger-ghost/p/14228920.html
Copyright © 2011-2022 走看看