如何在Expressjs项目中的两个html文件之间导航

时间:2017-01-18 14:01:37

标签: html angularjs node.js express

对于表达和我的生活来说相对较新,我无法弄清楚如何在根文件夹中的两个HTML文件之间导航。我正在为我的项目使用bootstrap anjularjs和expressjs。

我目前在routes目录中使用了以下代码:

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.js文件中使用了这个语句来尝试帮助导航:

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)

1 个答案:

答案 0 :(得分:0)

通过CREATE PROCEDURE crearEquipo(id_user INT, nombre VARCHAR(45)) COMMENT 'Procedimiento que guarda un equipo con un determinado nombre si no existe ese nombre para ese usuario' BEGIN IF NOT EXISTS ( SELECT ut.idTeam FROM usersTeam ut INNER JOIN teams t ON t.team_id = ut.team_id WHERE t.name = nombre AND ut.idUser = id_user ) THEN (INSERT INTO teams(name) VALUES ( nombre)); SET @id_team :=LAST_INSERT_ID(); INSERT INTO usersTeam (idUser,idTeam) VALUES (id_user,@id_team); SELECT 'Equipo guardado correctamente!!!!'; ELSE SELECT 'Este equipo para ese cliente ya existe en la base de datos, cambie el nombreteams!'; END IF; 函数返回视图的呈现HTML。它接受一个可选参数,该参数是包含视图局部变量的对象。它就像callback,除了它不能自己将渲染的视图发送给客户端。 如果您没有设置“ejs”,则应用程序会自动获取res.render()文件,因为res.render就是这样。 在这种情况下,我的.html文件在html文件夹中的名称为index

如果您的publicindex

.html

如果您var app = express(); app.get('/', function(req, res){ res.render("../public/index"); //the archive html file }); 是'index':

.ejs

参考here