ゼロ単列のnodejsから

5179 ワード

nodejs使用概要
理由をつける
  javaScript   ,       .
インストールから開始
1.  windows      
2.  linux ,  apt-get         ,         .
  1.      g++   4.6  ,Python   2.6  .
  2.  [nodejs.org](https://nodejs.org)  tar.gz   NodeJS               .
  
3.         ,           .
         $ ./configure
         $ make
         $ sudo make install
4.     
        ,  `node`        ,                  
     ```shell
     $ node
     > console.log('hello world!')
     hello world!
     ```
      ,         `js`  ,           `node xx.js`  
更新およびバージョン選択
1.     nvm  n       (    ),         。
2. n    
$ sudo npm install n -g
$ sudo n stable     //  node       
$ sudo n latest     //     
$ sudo n 6.4.0      //      
3. nvm    (nvm   npm)
    1.           (apt-get/yum)
    2.       
$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ cd ~/.nvm
$ source ~/.nvm/nvm.sh #        shell     ,      ,   ~/.bashrc, ~/.profile,   ~/.zshrc
    3.     
      node
$ nvm install 0.10.26 #  nodejs v0.10.26   
      node
$ nvm uninstall 0.10.26
$ nvm uninstall default
モジュール
            ,           ,            .
Node.js       ,  [CommonJS  ](http://wiki.commonjs.org/wiki/CommonJS)       。
 `NodeJS` ,             `js`   ,           ,          .       ,            ,          , npm(**Node Package Manager**),    node        npm,        :
> npm -v
5.4.2
NPM資料
      npm,  nodejs         ,          npm,    npm        ,       ,        ,    ,         ,  ,    npm,     npm  npm
1.         ,       ,      (taobao )
npm config set registry https://registry.npm.taobao.org
//                  
npm config get registry
//  npm info express
2.     
    1. *    *:           `npm install `
        1.        `./node_modules`  (   npm         ),    ` node_modules`   ,       `npm`          `node_modules`   。
        2.      `require()`          。
    2. *    *:            `npm install  -g`
        1.        `/usr/local`      `node`      。
        2.            。

    tip:        :`npm err!  Error: connect ECONNREFUSED 127.0.0.1:8087`
     :`$ npm config set proxy null`

3.     
npm list / ls                      
npm ls  -g                         

npm uninstall        
npm update                      npm
npm update           
npm init                         `package.json`  
npm run xxx               `package.json` `scripts`  ,          
カスタムモジュール
           ,      foo.js  ,      
// foo.js

module.exports = function(x) {
    console.log(x);
};
          ,   module.exports  ,        。
モジュールの使用
*node     *
http:  HTTP     。
url:  URL。
fs:       。
querystring:  URL      。
child_process:     。
util:          。
path:      。
crypto:         ,     OpenSSL   。
`require`          ,*               *。
`require`             。       ,               (    ),                 ,                ,  Node        ,         
// index.js

var http = require('http')         //      http
var express = require('express');    //  express  (  npm install express)

var m = require('./foo');            //        

m.print("       ");
httpプロトコル

ノードベース
Nodeグローバル
*node     *
global:  Node       ,       window  。      ,               ,                ,  var x = 1     window.x = 1,  Node    ,          (REPL           )。      ,  var x = 1,     global     ,global.x  undefined。                   ,        。

process:     Node       ,           。

console:  Node   console  ,             、      。
*node     *
setTimeout():         ,      。       ,        。       1   2,147,483,647  ( 24.8 )  。        ,      1  。            。
clearTimeout():      setTimeout        。
setInterval():              。      ,                      ,         ,      。         1 2,147,483,647(  24.8 )     ,        ,      1  。            。
clearInterval():     setInterval        。
require():      。
Buffer():         。
*node     *
__filename:            。
__dirname:              。
異常処理
  nodejs      ,         ,             ,  , nodejs                  (           )。
    ,Node     ,      。
    1.   throw          ,     。
    2.             ,           。
    3.   EventEmitter  ,    error  。
           ,    try…catch  。  ,                    ,  Node        try/catch  ,    `JSON.parse`  JSON  。
*Node     ,             ,      。*
                  ,               。
参考資料:nodejs入門チェン一峰node教程nodejs基礎教程7日間学会nodejs Nodejs API中国語ドキュメントNode.jsパッケージはExpress+MongoDBを使用して複数のブログを構築します