2

ログインページ(form.html)を提供する認証モジュールを開発するために、Cloud9 IDEを使用してnode.jsプロジェクトを作成しました。データベースとしてmongo dbを使用しています。また、ルーティング メカニズムにエクスプレス ライブラリを使用しました。

以下のコードの詳細を見つけてください。

app.js:-

/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require('./routes')
  ,fs = require('fs');

var app = module.exports = express.createServer();

// Configuration

app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

app.configure('development', function(){
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});

app.configure('production', function(){
  app.use(express.errorHandler());
});

// Routes

app.get('/', routes.index);

app.get('/form',function(req,res){
   fs.readFile('.form.html',function(error,content){
       if (error) {
           res.writeHead(500);
           res.end();
       }
       else{
         res.writeHead(200,{'Content-Type':'text/html'});
         res.end(content,'utf-8');
       }
   }); 
});


app.listen(process.env.PORT);
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);

package.json:-

{
    "name": "authentication"
  , "version": "0.0.1"
  , "private": true
  , "dependencies": {
      "express": "2.5.8"
      , "jade": "0.26.1"
      ,"mongoose":"2.6.5"
  }
}

form.html:-

<form action="/signup" method="post">
<div>
    <label>Username:</label>
    <input type="text" name="username"/><br/>
</div>
<div>
     <label>Password:</label>
    <input type="password" name="password"/><br/>
</div>
<div><input type="submit" value="Sign Up"/></div>
</form>

認証フォルダ内に上記のform.htmlが作成されます。

高速実装では、次のコマンドを使用しました。

npm install -g @express2.5.8

エクスプレス認証

上記のように package.json ファイルを更新し、次のコマンドを実行します。

CD 認証

npm インストール

ノードアプリ

上記のようにすべてのコマンドを書いた後、出力として form.html を見ることができません。

アプリケーションの出力として form.html ページを提供するために、誰かが解決策を提供するのを手伝ってくれますか?

よろしくお願いいたします。 サントッシュ・クマール・パトロ

4

2 に答える 2

1

express.staticミドルウェアを使用しているため、ディレクトリform.html内に/public配置する (または simlink する) だけです。多くの時間を節約します。

フォームは で入手できますhost:port/form.html

于 2013-01-28T21:36:02.677 に答える
0
fs.readFile('.form.html' 

する必要があります

fs.readFile('form.html' 

先頭のドットを削除してください!

app.listen() で使用する「process.env.PORT」の値は何ですか? 以下の例では、8080 を使用しました

ブラウザで localhost:8080/form にアクセスします

于 2013-01-28T21:08:16.317 に答える