Nodejs Express初心者


ちょうど会社のデータ展示プロジェクト(Nodejs開発)で開発したものです.ついでにnodejsのexpressの枠組みを勉強します.私たちがnodejsの環境をインストールしたと仮定します.
  • expressグローバルインストール
  • をインストールします.
    npm install --g express
    npm install -g express-generator
    インストール完了はexpress-V(大文字)でexpressバージョンを確認できます.
  • express aを使ってプロジェクトを初期化してプロジェクトを配置したいディレクトリに入り、次のコマンドを実行して、testというプロジェクトを初めて作ってください.
    express -e test 
    初めて使用すると、初めて使用した後、install dependencies:cd test&npm installが見えるかもしれません.これはいくつかの依頼があります.今はまだインストールされていないので、先にプロジェクトのtestディレクトリに入って、npm installインストール依存モジュールを実行します.インストールが完了したら、他のエラーがなければ実行します.
    npm start
    正常かどうか見てください.エラーがないなら、ブラウザにlocal host:3000を入力してください.Welcome to Expressが表示されます.
    これで初期完了です.
    b.expressイニシャルファイルとフォルダの説明
    プロジェクトの作成に成功したら、testディレクトリ下五箇フォルダ、メインファイル:ap.js配置情報ファイル:package.json
    bin        ,           ,   npm start
    public        ,  js css img   
    routes          ,      
    views     ,      ejs jade (      html     ~)
    node_modules  npm install           
    
    package.json
     {
          "name": "test",
          "version": "0.0.0",
          "private": true,
          "scripts": {
            "start": "node ./bin/www"
          },
          "dependencies": {
            "body-parser": "~1.12.0",
            "cookie-parser": "~1.3.4",
            "debug": "~2.1.1",
            "ejs": "~2.3.1",
            "express": "~4.12.2",
            "morgan": "~1.5.1",
            "serve-favicon": "~2.2.0"
          }
    }  
    app.jsここは初期形式です.実際の開発によって、新しい引用や他のロジックモジュールを追加して、binフォルダの下にエクスポートし続けるwwwファイルを使用します.
    var express = require('express');
    var path = require('path');
    var favicon = require('serve-favicon');
    var logger = require('morgan');
    var cookieParser = require('cookie-parser');
    var bodyParser = require('body-parser');
    
    var routes = require('./routes/index');
    var users = require('./routes/users');
    
    var app = express();
    
    // view engine setup
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'ejs');
    
    // uncomment after placing your favicon in /public
    //app.use(favicon(__dirname + '/public/favicon.ico'));
    app.use(logger('dev'));
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(cookieParser());
    app.use(express.static(path.join(__dirname, 'public')));
    
    app.use('/', routes);
    app.use('/users', users);
    
    // catch 404 and forward to error handler
    app.use(function(req, res, next) {
      var err = new Error('Not Found');
      err.status = 404;
      next(err);
    });
    
    // error handlers
    
    // development error handler
    // will print stacktrace
    if (app.get('env') === 'development') {
      app.use(function(err, req, res, next) {
        res.status(err.status || 500);
        res.render('error', {
          message: err.message,
          error: err
        });
      });
    }
    
    // production error handler
    // no stacktraces leaked to user
    app.use(function(err, req, res, next) {
      res.status(err.status || 500);
      res.render('error', {
        message: err.message,
        error: {}
      });
    });
    
    
    module.exports = app;
    その他の関連知識:1.require:大きなプログラムを作成する時は、コードをモジュール化するのが一般的です.NodeJSでは、一般的にコードを異なるJSファイルに合理的に分割し、各ファイルはモジュールであり、ファイルパスはモジュール名である.
    各モジュールの作成には、require、exports、moduleの3つの予め定義されている変数があります.
    require関数は、現在のモジュールにおいて、他のモジュールをロードして使用し、モジュール名を入力して、モジュールを返してオブジェクトをエクスポートします.
    モジュール名は相対パス(以./先头)または绝対パス(以/またはC:などのディスクで始まる)を使用することができ、モジュール名の中のjs拡張子は省略することができます.たとえば:
    var express = require("express");
    var func1 = require("./func1");//     main.js     func1.js  
    var func2 = require("../nodejs/func2");// func2.js    main.js        
  • exportオブジェクトは、モジュール共有方法および属性を導出するために現在のモジュールの導出対象である.他のモジュールはrequire関数で現在のモジュールを使用した時に得られたのが現在のモジュールのexportオブジェクトです.
  • exports.func1 = function(){ 
        console.log("This is func1");
    };
    /*    
    function func1(){
        console.log("This is func1");
    }
    exports.func1 = func1;
    */