这可能是一个新手问题。我试图设置我的第一个expressjs应用程序,我需要使用一个由于某种原因无法工作的视图助手。
这是我的server.js
var express = require('express');
var app = express();
var test = function(req, res, next) {
res.myLog = function(){
console.log("res");
return "Hello";
}
next();
}
app.use(test);
app.get("*", function(req, res) {
res.sendfile('./dist/index.html');
})
app.listen(5000);
和index.html
<html>
<head>
<title>Test application</title>
<link rel="stylesheet" href="main.css" />
<script src='<%=myLog()%>'></script>
</head>
<body>
<h1>Yo World!</h1>
</body>
</html>
在渲染过程中不调用myLog函数。最初我试图使用一些第三方帮助者,但他们也没有工作。
我还没找到任何关于如何在expressjs网站上使用助手的文档。我在这里显然做错了。
Express version 4.3.14
答案 0 :(得分:0)
要使用var myXML:XML;
var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("summaries.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void
{
myXML = new XML(e.target.data);
trace(myXML.*);
quantity_txt = xml.quantity.text()[0];
}
发送文件,正确的方法是:
express
使用ejs模板引擎:
//sending html files
var express = require('express');
var app = express();
var path = require('path');
// viewed at http://localhost:5000
app.get('/', showClientRequest, function(req, res) {
res.sendFile(path.join(__dirname + '/index.html'));
});
function showClientRequest(req, res, next) {
var request = {
REQUEST : {
HEADERS: req.headers,
BODY : req.body
}
}
console.log(request)
return next();
}
app.listen(5000);
节点作弊:
要获得完整的代码,请在express_server运行var express = require('express');
var ejs = require('ejs');
var app = express();
app.set('view engine', 'ejs');
var path = require('path');
// viewed at http://localhost:5000
app.get('/', showClientRequest, function(req, res) {
res.render('index',{message:"Hello World!"});
});
function showClientRequest(req, res, next) {
console.log('Something Here...');
return next();
}
app.listen(5000);
后跟node app
进行节点作弊。
答案 1 :(得分:0)
使用res.locals.myLog
代替res.myLog
来设置本地人。如果您在帮助函数中不需要req
,也可以使用app.locals.myLog
。
res.sendfile
不会渲染您的视图,只会按原样发送文件。您必须使用res.render
并将dist/index.html
移至views/index.ejs
。