Error: No default engine was specified and no extension was provided. in the browser
Error: No default engine was specified and no extension was provided. in the browser
我正在使用 mongo 和 node.js,我正在使用 mongodb npm 包连接数据库和我的代码如下。
var express = require('express');
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/STUDENT";
var app = express();
MongoClient.connect(url, function(err, db) {
console.log("Connected correctly to server");
findDOcuments(db);
db.close();
});
var entireDoc = '';
var data = function(data, id){
if(id == 'records'){
entireDoc = JSON.stringify(data);
}
}
var findDOcuments = function(db) {
// Get the records collection
var collection = db.collection('records');
// Find some records
collection.find({}).toArray(function(err, docs) {
console.log("Found the following records");
console.log(docs);
data(docs,'records');
});
}
app.get('/getInfo', function(req, res){
res.render(entireDoc);
})
app.listen(3000);
以上代码在浏览器中呈现时在浏览器中抛出以上错误。任何人都可以帮忙吗。
您需要明确说明您正在使用哪种类型的 eof 视图引擎。例如 ejs、jade、pub、handlebars 或 plain html..
在您的中间件下方的代码中添加以下内容:
// 视图目录将为 project_folder/views。所以基本上当你给一个模板文件名来渲染时,它应该知道在哪里可以找到它。因此设置了以下路径。
app.set('views', path.join(__dirname, 'views'));
//指定视图引擎并使用它你需要安装 npm install --save ejs
app.set('view engine', 'ejs');
所以当你说 res.render('products');
它将在 project_folder/views/
中搜索 product.ejs 文件
另外,如果你想发送直接字符串,你可以使用res.send(),如果你想发送json,你可以使用res.json()。 Render 用于从视图引擎渲染视图模板
app.use(
express.static(path.join(__dirname, 'public'), {
etag: false
})
);
我正在使用 mongo 和 node.js,我正在使用 mongodb npm 包连接数据库和我的代码如下。
var express = require('express');
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/STUDENT";
var app = express();
MongoClient.connect(url, function(err, db) {
console.log("Connected correctly to server");
findDOcuments(db);
db.close();
});
var entireDoc = '';
var data = function(data, id){
if(id == 'records'){
entireDoc = JSON.stringify(data);
}
}
var findDOcuments = function(db) {
// Get the records collection
var collection = db.collection('records');
// Find some records
collection.find({}).toArray(function(err, docs) {
console.log("Found the following records");
console.log(docs);
data(docs,'records');
});
}
app.get('/getInfo', function(req, res){
res.render(entireDoc);
})
app.listen(3000);
以上代码在浏览器中呈现时在浏览器中抛出以上错误。任何人都可以帮忙吗。
您需要明确说明您正在使用哪种类型的 eof 视图引擎。例如 ejs、jade、pub、handlebars 或 plain html..
在您的中间件下方的代码中添加以下内容:
// 视图目录将为 project_folder/views。所以基本上当你给一个模板文件名来渲染时,它应该知道在哪里可以找到它。因此设置了以下路径。
app.set('views', path.join(__dirname, 'views'));
//指定视图引擎并使用它你需要安装 npm install --save ejs
app.set('view engine', 'ejs');
所以当你说 res.render('products');
它将在 project_folder/views/
中搜索 product.ejs 文件另外,如果你想发送直接字符串,你可以使用res.send(),如果你想发送json,你可以使用res.json()。 Render 用于从视图引擎渲染视图模板
app.use(
express.static(path.join(__dirname, 'public'), {
etag: false
})
);