Articles of heroku

NodeJS:在前端脚本中使用环境variables

我正在编写一个socket.io应用程序,而且每次我推送到heroku时,都不得不在我的前端scripts.js文件中排队。 var socket = io.connect('http://localhost'); 至 var socket = io.connect('http://ersatz-elephant-1337.herokuapp.com/'); 我知道我可以使用process.env.VAR在后端访问这些variables,但我想知道是否有任何方式来编程决定哪些使用我的前端脚本? 我宁愿把脚本放在静态的地方,但也许这是不可能的? 编辑:我不是真的在后端寻找解决scheme…我正在寻找一种方式,我的/public/scripts.js文件可以连接到正确的事情。 我想可能唯一的方法是通过在server.js为前端脚本文件指定一些特殊的东西,而不是静态地提供它,但如果是这样,那么这就是我正在寻找的指令,而不是如何实际访问env vars在服务器上。 对不起,有什么困惑!

发送httprequest到Heroku节点js应用程序在客户端得到“连接被拒绝”错误

我的节点应用程序已启动并正在运行(侦听)。 这实际上是一堆restAPI处理程序。 我使用一般java代码(Apache httprequest和httpclient执行简单的http命令)从我的testingJava客户端发送http请求。 事情是java http客户端发送请求到应用程序后立即得到一个IOexception。 说“org.apache.http.conn.HttpHostConnectException:连接到http://xxxxxxx.herokuapp.com:38084拒绝” 有什么我错过了,以便从java客户端的http调用? 谢谢。

在Heroku上用Node创buildmongodb

在我的本地主机上,我有以下节点代码来设置mongoDB数据库名称“dbname”: users.js: var MongoClient = require("mongodb").MongoClient, Connection = require("mongodb").Connection, Server = require("mongodb").Server; Users = function(host, port) { var mongoClient = new MongoClient(new Server(host, port)); mongoClient.open(function (){}); this.db = mongoClient.db("dbname"); }; Users.prototype.getCollection = function (callback) { this.db.collection("users", function (error, users) { if (error) callback(error); else callback(null, users); }); }; Users.prototype.findAll = function (callback) { this.getCollection(function (error, […]

查询MongoDB以获取非空数组相交的文档

所以 – 我开发了一个Heroku + Node + Express + MongoDB应用程序,而且我一直在玩整天试图弄清楚如何得到我想要的mongo查询。 在一个mongo集合中,每个文档都有一个属性“fruits”,这个属性是一个string数组 fruits : ['apple', 'orange', 'lemon'] 水果的大小和内容是任意的。 我想查询数据库的水果数组至less有一个元素与我提供查询时提供的另一个数组的所有文档。 我怎样才能做到这一点? 到目前为止,我试过的是$ where查询和一些服务器端JS。 如果我做了类似的事情 mongo.Db.connect(mongoUri, function(err, db) { db.collection('Users', function(er, collection) { collection.find( {$where: 'false' } ).toArray(function(err, matches){ console.log(matches) … }); }); }); 我得到一个空arrays – 好! 如果我把错误更改为真,我就可以得到整个数据库 – 也不错! 事情变得不那么好,如下所示: collection.find( {$where: function(){return false} } ).toArray(function(err, matches){… 我再次获得整个DB! […]

使用CORS与LocomotiveJs Rest API。 适用于本地机器,但不适用于Amazon或Heroku

使用CORS与LocomotiveJs Rest API。 适用于本地机器,但不适用于Amazon或Heroku 我使用LocomotiveJs做了一个REST api,现在我正在试图启用CORS。 我将下面的代码添加到我的“所有”环境(config / environments / all.js)。 this.use(function crossOrigin(req,res,next){ res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With,Authentication"); res.header("Access-Control-Allow-Methods","GET,POST,PUT,DELETE,OPTIONS"); return next(); }); 它在我的本地机器上工作,但是当我部署到Heroku或AWS时,我得到一个404 Http错误,当客户端发送OPTIONS命令。 为了隔离问题,我开发了一个简单的Express应用程序,使用下面的代码: var express = require('express'); var app = express(); app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With,Authentication"); next(); }); app.get('/test', function(req, res){ res.set('Content-Type', 'application/json'); res.send({ 'Hello' : 'World' }); }); var […]

Heroku部署错误:找不到模块'./errors/cast'

我使用yeoman angular-fullstack生成器构build了我的应用程序,然后根据自己的目的进行了修改。 我build立dist文件夹来部署到heroku使用哟angular-fullstack:部署heroku。 它为我创build一个新的heroku应用程序,当我cd到dist文件夹和git推heroku主一切都很好。 我希望能够将我现有的heroku应用程序添加到这个dist文件夹的部署过程,所以我跟着这篇文章如何链接一个文件夹与现有的Heroku应用程序 。 然后,我可以使用与heroku不同的远程名称部署到我自己的应用程序。 当它开始在heroku上运行时,我一直得到相同的错误。 我无法弄清楚为什么完全相同的代码在为我创build的应用程序运行正常,但不是我现有的应用程序。 这几乎就像我需要清除node_modules并再次推送? 2014-02-21T04:43:51.989439+00:00 app[web.1]: module.js:340 2014-02-21T04:43:51.996351+00:00 app[web.1]: Error: Cannot find module './errors/cast' 2014-02-21T04:43:51.996351+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:338:15) 2014-02-21T04:43:51.991555+00:00 app[web.1]: throw err; 2014-02-21T04:43:51.991785+00:00 app[web.1]: ^ 2014-02-21T04:43:51.996351+00:00 app[web.1]: at require (module.js:380:17) 2014-02-21T04:43:51.996351+00:00 app[web.1]: at Module.require (module.js:36 4:17) 2014-02-21T04:43:51.996351+00:00 app[web.1]: at Function.Module._load (module.js:280:25) 2014-02-21T04:43:51.996351+00:00 app[web.1]: at Module._compile (module.js:456:26) 2014-02-21T04:43:51.996351+00:00 app[web.1]: […]

在Heroku上运行一个IRC bot

我已经启动了我的机器人,并且希望它在Heroku上运行,以保持它与我们的IRC通道持续连接。 这是我的procfile的内容: web: coffee marvin.coffee (这个bot的名字是marvin)。 这是marvin.coffee irc = require 'irc' config = require('./config').config client = new irc.Client(config.server, config.nick, config.options) # IRC-listeners 我从来没有创build任何HTTP服务器,我希望有可能简单地运行在Heroku这个咖啡脚本为了我的机器人运行,但我得到以下错误: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 机器人启动并join频道,但由于Heroku杀死进程而立即离开。 任何帮助将不胜感激 :-)

Heroku部署错误:部署后无法运行Node App:无法find模块'/app/web.js'

我有一个使用Express和MongoDB(mongoose)的node.js应用程序。 它在当地运行得很好。 我似乎毫无问题地将其部署到了heroku,但是当我试图实际启动应用程序时,它崩溃了。 heroku日志说:错误:找不到模块'/app/web.js' 我是新来的,所以任何帮助将不胜感激。 谢谢! 应用程序将帮助我的1型糖尿病女儿。 的package.json: { "name": "projectglu", "version": "0.0.0", "dependencies": { "express": "~3.4.3", "lodash": "~2.4.1", "mongoose": "~3.8.8", "connect-mongo": "~0.4.0", "passport": "~0.2.0", "passport-local": "~0.1.6", "ejs": "~0.8.4" }, "devDependencies": { "grunt": "~0.4.1", "grunt-autoprefixer": "~0.4.0", "grunt-bower-install": "~0.7.0", "grunt-concurrent": "~0.4.1", "grunt-contrib-clean": "~0.5.0", "grunt-contrib-coffee": "~0.7.0", "grunt-contrib-compass": "~0.6.0", "grunt-contrib-concat": "~0.3.0", "grunt-contrib-copy": "~0.4.1", "grunt-contrib-cssmin": "~0.7.0", "grunt-contrib-htmlmin": "~0.1.3", "grunt-contrib-imagemin": […]

在Heroku上为Mongo Labs数据库configurationNode.js连接string

我的web应用程序(build立在Node.js和Express上)在本地工作正常,但是当我将它部署到Heroku时,我无法连接到Mongo Labs数据库。 我更改了我的'app.js'文件中的连接string,以正确反映新的Heroku Mongo Labs数据库的URI(假冒的用户名和密码在下面被replace)。 我也尝试了几个stackoverlow解决scheme不能连接到mongolab与heroku上的node.js以及https://devcenter.heroku.com/articles/getting-started-with-nodejs#using-mongodb但是,似乎也工作。 我怀疑这是有点不同,因为我使用Mongoskin。 原来的连接: var db = mongo.db("mongodb://localhost:27017/userdir", {native_parser:true}); 更改为新的连接: var db = mongo.db("mongodb://user:pass@dbh23.mongolab.com:27237/heroku_app24581691",{native_parser:true}); 任何想法,我在这里失踪? var express = require('express'); var path = require('path'); var favicon = require('static-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); // Database var mongo = require('mongoskin'); var db = mongo.db("mongodb://user:pass@dbh23.mongolab.com:27237/heroku_app24581691", {native_parser:true}); // […]

Heroku的; “在Procfile中没有定义这样的进程types的web”错误

我正在努力 heroku ps:scale web=1 但是我收到错误 No such process type web defined in Procfile. 我正在跟着这个教程与Node js的实时聊天,我不能做“heroku打开”在最后; 我收到的错误是H14,所以我试图扩展我的网页dynamic链接到1.我有一个Procfile.txt和里面有 web: node app.js 我读过,我需要确保“P”是大写,所有的拼写正确,我有。 所以我不知道为什么我仍然无法将我的网页dynos缩放到1。