2017-01-18 11 views
0

私は比較的expressjsで新しく、私の人生はルートフォルダの2つのHTMLファイル間をどのように移動するのか分かりません。私のプロジェクトにはブートストラップanjularjsとexpressjsを使っています。 Expressjsプロジェクトで2つのhtmlファイル間を移動する方法

は、私は現在のルートディレクトリに次のコードを使用しています

私も試してみてナビゲーションを支援するためにapp.jsファイルでこの文を使用してきた。このほかに
var express = require('express'); 
var router = express.Router(); 
var app = express(); 

/* GET home page. */ 
router.get('/', function(req, res, next) { 
    res.render('profile', { title: 'Express' }); 
}); 

router.get('/profile', function(req, res, next){ 
    res.render('profile', {title: ''}); 
}); 


module.exports = router; 

app.use('/static',express.static(path.join(__dirname, 'views'))) 
app.use('/html', express.static("html")); 

app.engine('html', require('ejs').renderFile); 
app.set('view engine', 'html'); 

app.get('/profile', function (req,res){ 
    res.render('profile', { 
     title: 'Profile' 
    }); 
}); 

だから私の問題は、この電流の誤差があり、これでどのような援助をいただければ幸いです。

Error: Failed to lookup view "error" in views directory "C:\Users\Brian Manda\Documents\fmg_code\views" 
    at EventEmitter.render (C:\Users\Brian Manda\Documents\fmg_code\node_modules\express\lib\application.js:579:17) 
    at ServerResponse.render (C:\Users\Brian Manda\Documents\fmg_code\node_modules\express\lib\response.js:960:7) 
    at C:\Users\Brian Manda\Documents\fmg_code\app.js:52:7 
    at Layer.handle_error (C:\Users\Brian Manda\Documents\fmg_code\node_modules\express\lib\router\layer.js:71:5) 
    at trim_prefix (C:\Users\Brian Manda\Documents\fmg_code\node_modules\express\lib\router\index.js:310:13) 
    at C:\Users\Brian Manda\Documents\fmg_code\node_modules\express\lib\router\index.js:280:7 
    at Function.process_params (C:\Users\Brian Manda\Documents\fmg_code\node_modules\express\lib\router\index.js:330:12) 
    at next (C:\Users\Brian Manda\Documents\fmg_code\node_modules\express\lib\router\index.js:271:10) 
    at C:\Users\Brian Manda\Documents\fmg_code\app.js:41:2 
    at Layer.handle [as handle_request] (C:\Users\Brian Manda\Documents\fmg_code\node_modules\express\lib\router\layer.js:95:5) 
+0

あなたのインデックスは '.html'ですか? –

+0

はい、インデックスファイルはhtmlファイルです –

答えて

0

callback関数を使用して、ビューのレンダリングされたHTMLを返します。ビューのローカル変数を含むオブジェクトであるオプションのパラメータを受け入れます。 res.render()と似ていますが、クライアントにレンダリングビューを送信することはできません。 "ejs"を設定しないと、アプリケーションは.htmlというファイルを自動的に取得します。res.renderはそのためです。 この場合、私のhtmlファイルのファイル名はindexです。publicフォルダです。

あなたindex.htmlの場合:

var app = express();  

app.get('/', function(req, res){ 
res.render("../public/index"); //the archive html file 
     }); 

あなたindexが '.ejs' です:

var app = express(); 

app.set('view engine', 'ejs'); // set the index.ejs file 

app.get('/', function(req, res){ 
    res.render("../public/index.ejs"); // if you want, remove the .ejs, is optional, 
     }); 

リファレンスhere

関連する問題