2017-07-11 12 views
0

ルートを外部ファイルにエクスポートしたい。外部ファイルのExpressJSエクスポートルートがルートパスで機能しない

すべてが、ルートのルートが機能している:

はlocalhost /ログイン - > "ログインページ"

はlocalhost/- >空

server.js:

// SET UP ============= 
var express = require("express"); 
var app = express(); 
var port = 80; 
var bodyParser = require("body-parser"); 

// CONFIG ============= 
app.use(express.static(__dirname + "/public")); 
app.use(bodyParser.urlencoded({'extended':'true'})); 
app.use(bodyParser.json()); 
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); 

// ROUTES ============= 
var base = require("./routes/base"); 
app.use("/",base); 

// LISTEN ============= 
app.listen(port); 
console.log("Server listening on port " + port); 

ベース.js:

var express = require('express') 
var router = express.Router() 

//Home 
router.get('/', function (req, res) { 
    res.send('Home page') 
}) 

//Login 
router.get('/login', function (req, res) { 
    res.send('Login page') 
}) 

module.exports = router 
+0

チェックコンソールを使用して、ルートルートのエラーを確認してください。 – noobcode

+0

@noobcodeエラーはありません。 – Waterfront

答えて

1

app.use('/', base)にルートを指定する必要はありません。代わりに、ExpressミドルウェアをExpressアプリケーションに直接供給して、ルータにwi細いbaseが要求を処理します。

app.use(base)

+0

明らかに、ローカルホスト/ – Waterfront

+0

@Waterfrontにはまだ出力されていませんが、それは私のために働くので、セットアップから何かを省略しています。私はコピーして貼り付けて問題を起こさず、ポートを80からそれ以外のものに変更するだけでした。多分あなたの問題だと思います。あなたのポートを8080に変更し、それが動作するかどうかを確認してください。 – peteb

+0

@Waterfrontさらに、これは 'app.use( '/'、base)'でも問題ではないはずです。 – peteb

0

あなたの/ loginルートでルートルートを上書きしているため、/ loginルートのみをエクスポートしています。使用してserver.jsファイルのインポートで次に

module.exports = function(server){ 
    server.get('/', function(request, response){ 
     response.send('Home page.'); 
    }); 

    server.get('/login', function(request, response){ 
     response.send('Login page.'); 
    }); 
} 

ルート:あなたは一つのファイルにすべてのルートを維持したい場合は、私はあなたの中のようなbase.jsファイルを何かを行うことをお勧めします

require('./routes/base.js')(app); 

これはすぐにルートをインポートすると、

+0

明日はそれをチェックしますが、ちょっと厄介です。 :) – Waterfront

0

オム、大丈夫、私は私の問題を発見しました。

私の./publicフォルダーには、index.htmlがあります。

関連する問題