PHP代码THA你一直在写的可能只是PHP的html模板版本(因为缺乏更好的条款...)
当浏览器请求.php页面时,会调用一个php解释器来解析php标签html并用html/text替换它。该结果然后被发送到浏览器。
node.js不能这样工作。
Node.js比php更详细,当涉及到这个特定的主题。节点。js不仅仅是一个Web应用程序框架或Web服务器,它还可以用作执行常见任务的可执行程序。
通常,为了获得您在node.js中寻找的功能,您可以使用模板框架(例如把手和express)来处理Web服务器和路由。这里有一个例子:
// this is just an example, it may or may not work, I did not test it.
var express = require('express'),
app = express(),
exphbs = require('express-handlebars'),
hbs,
path = require('path');
// serve all files under the /assets folder as static files
app.use('/assets', express.static(path.join(__dirname, '/assets')));
// handlebar engine config
hbs = exphbs.create({
defaultLayout: 'main'
});
// attach engine and specify view location
app.engine('handlebars', hbs.engine);
app.set('view engine', 'handlebars');
app.set('views', path.join(__dirname, '/views'));
// home page http://domain.com/
app.get('/', function (req, resp) {
resp.render('home', {title: 'Home | Hello World!', text: 'Welcome to my site!'});
});
// start webserver
app.listen(3000);
以上节点的应用程序将创建一个Web服务器侦听端口3000来响应请求/assets和/。
/视图/布局:当请求/,从/views文件夹中的home.handlebars视图将使用main.handlebars布局从/views/layouts下面是将显示已传递在上面创建的/路线的标题的示例图来呈现/main.handlebars
{{title}}{{{body}}}
/views/home.handlebars
Hello World!
{{text}}