【问题标题】:html and node.js script on the same heroku instancehtml 和 node.js 脚本在同一个 heroku 实例上
【发布时间】:2013-02-22 03:21:14
【问题描述】:

我正在尝试使用 node.js 做一些非常简单的事情,但我现在有点卡住了。希望有人可以帮助我解决这个问题..我正在尝试一个非常简单的node.js应用程序..基本上有一个index.html文件,其中有一个名称作为参数的表单..按钮的点击调用一个JQuery脚本使用从 html 表单获取的 NAME 值对 node.js 脚本执行 POST 请求。 现在向在其默认端口上运行 HTTP 服务器的 node.js 脚本发出 post 请求。node.js 脚本所做的只是接受参数并回复一个非常简单的响应,其中包括发送的 POST 参数.. 此响应被 JQuery 捕获并使用警报提供给用户。 所以我有 index.html 和 login.js 作为我的两个脚本.. 现在我使用 heroku 来托管这些文件.. 问题是一旦它们被上传它并没有真正打开 html 文件默认.. 它运行 login.js默认情况下..所以HTML永远不会打开..这可能是因为我有一个procfile将login.js加载到dyno..但是如果我删除procfile然后我在日志中得到一个错误说“没有运行web进程” .. 所以基本上,长话短说,有没有办法让 index.html 和 node.js 文件在同一个 heroku 实例上运行,其中 html 请求 node.js 获取信息并将其返回.. 这是我的 html 和 node.js 脚本的链接

https://dl.dropbox.com/u/904687/index.html https://dl.dropbox.com/u/904687/login.js

【问题讨论】:

  • 部署到heroku时不要忽略node_modules/.gitignore中的bower_components

标签: html node.js heroku


【解决方案1】:

一种选择是使用 Node.js Express.js 来提供 html 文件,然后还处理登录路由。

整个事情看起来像。

文件:package.json

{
  "name" : "LoginPage",
  "version" : "0.0.1",
  "dependencies" : {
    "express" : "3.x"
  },
  "main" : "index.js"
}

文件:index.js

var express = require('express');
var app = express();

var oneDay = 86400000;

app.use(express.compress());

app.use(express.static(__dirname + '/public', { maxAge: oneDay }));

app.use(express.bodyParser());

app.listen(process.env.PORT);

app.post('/', function(req, res){
  var result = req.rawBody;
  res.send("hello there world data is " + result);
});

目录结构

package.json
index.js
public
  index.html

【讨论】:

    猜你喜欢
    • 2022-07-30
    • 2023-03-05
    • 2022-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多