私はnode.jsで新しいです。私のプロジェクトにはMEANを使用しています。フッター。フッタのために私はフラッシュメッセージのためにAngularを使うことができません(私はどんなコントローラも持っていません)。通常のnode.jsを使用すると、私はフラッシュメッセージを表示する必要があります。ここで明示的なフラッシュ通知で「デフォルトエンジンが指定されておらず、拡張機能が提供されていません」
が、これは "いいえデフォルトエンジンが指定されていないと、拡張子が提供されなかった" というエラーが表示さ
<!DOCTYPE html>
<html lang="en">
<body>
<!-- footer -->
<div>
<form action="/subscribe" method="POST">
<input name="name" id="name" type="text" placeholder="Enter your email address" /><input type="submit" name="submit" id="submit" class="newsletter-submit" />
</form>
</div>
</body>
</html>
私のコードserver.js
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var session = require('express-session');
var flash = require('express-flash-notification')
var cookieParser = require('cookie-parser')
app.use(cookieParser("hash"));
app.use(session({secret:"hash", cookie: { maxAge: 60000 }, resave: true, saveUninitialized: true }))
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
app.use(express.static('public'));
app.use(flash(app));
app.use(express.static(__dirname + '/client'));
app.use('/admin', express.static(__dirname + '/admin'));
app.use('/', express.static(__dirname + '/client', { redirect: false }));
app.post('/subscribe', function (req, res)
{
if(req.body.name == '[email protected]')
{
//return console.log(error);
//res.send(200);
req.flash('info', 'Thank you', 'home')
}
else
{
res.send(500);
}
});
app.listen(3000, function(){
console.log('server is running on port 3000..');
});
とhtmlファイル
です。これを修正する方法と、HTMLページにメッセージを表示する方法。私は使用例のヒスイのために、あなたはビューエンジンが欠落している
[エラー:デフォルトのエンジンが指定されていないと、拡張子が提供されていない]の可能性のある重複したことによってそれを解決します(http://のstackoverflow。 com/questions/23595282/error-no-default-engine-was-specified-and-no-extension-was-provided) – Vasan