【发布时间】:2012-01-10 22:06:31
【问题描述】:
我有一个名为 index.html 的 HTML 文件,以及一个名为 server.js 和 logic.js 的 Node.js 文件。
server.js 负责创建服务器和加载 index.html 文件。 HTML 文件显示一个表单,要求执行任何操作(例如:用户名),然后将此数据发布到打印此用户名的 logic.js 文件。
怎么办? 谢谢!
【问题讨论】:
标签: node.js
我有一个名为 index.html 的 HTML 文件,以及一个名为 server.js 和 logic.js 的 Node.js 文件。
server.js 负责创建服务器和加载 index.html 文件。 HTML 文件显示一个表单,要求执行任何操作(例如:用户名),然后将此数据发布到打印此用户名的 logic.js 文件。
怎么办? 谢谢!
【问题讨论】:
标签: node.js
好吧,如果没有看到您的任何代码或不知道您正在使用什么框架,很难具体说明,但您会想要
我建议为此使用expressjs,因为您可能不想编写所有处理 Web 服务器的代码。有了这个框架,渲染 HTML 就像
app.get("/", function(request, response) { res.send(some_html); });
处理 POST 就像
app.post("/endpoint", function(request, response) { console.log(request.query.name); });
编辑:要回答您的问题,将处理多个页面的逻辑分布在单独的文件中并不难。我通常做的是有一个 server.js 来设置所有内容,然后将包含处理其他页面逻辑的其他文件。
例如,如果您的应用的布局可能像
server.js
/modules/
/modules/index.js
/modules/user.js
/modules/posts.js
public/index.html
public/user.html
public/posts/html
server.js 将包含模块目录中的所有文件,其中一个可能看起来像
app.get("/", function(req, res) {
render("index.html");
});
app.get("/user", function(req, res) {
render("user.html");
});
app.get("/post", function(req, res) {
render("post.html");
});
【讨论】: