Con*_*nor 6 javascript heroku node.js express
我正在开发一个Node.js应用程序,并且正在使用一个公开我的twitter API令牌/秘密的config.js文件.我这样做是因为我计划在完成应用程序之后开源应用程序,并且希望将这些应用程序保密(因此,将该文件放在我的应用程序中).gitignore.
无论如何,对我的问题 - 我收到以下错误日志:
2012-04-09T22:41:12+00:00 app[web.1]: node.js:134
2012-04-09T22:41:12+00:00 app[web.1]: ^
2012-04-09T22:41:12+00:00 app[web.1]: throw e; // process.nextTick error, or 'error' event on first tick
2012-04-09T22:41:12+00:00 app[web.1]: Error: Cannot find module './config'
2012-04-09T22:41:12+00:00 app[web.1]: at require (module.js:348:19)
2012-04-09T22:41:12+00:00 app[web.1]: at Function._load (module.js:266:25)
2012-04-09T22:41:12+00:00 app[web.1]: at Function._resolveFilename (module.js:320:11)
2012-04-09T22:41:12+00:00 app[web.1]: at Object.<anonymous> (/app/app.js:6:19)
2012-04-09T22:41:12+00:00 app[web.1]: at Module._compile (module.js:404:26)
2012-04-09T22:41:12+00:00 app[web.1]: at Object..js (module.js:410:10)
2012-04-09T22:41:12+00:00 app[web.1]: at Function._load (module.js:297:12)
2012-04-09T22:41:12+00:00 app[web.1]: at EventEmitter._tickCallback (node.js:126:26)
2012-04-09T22:41:12+00:00 app[web.1]: at Module.load (module.js:336:31)
2012-04-09T22:41:12+00:00 app[web.1]: at Array.<anonymous> (module.js:423:10)
2012-04-09T22:41:13+00:00 heroku[web.1]: State changed from starting to crashed
2012-04-09T22:41:13+00:00 heroku[web.1]: Process exited with status 1
Run Code Online (Sandbox Code Playgroud)
我的文件名是config.js,我正在做:var config = require('./config')在我的应用程序中.我没有将它列为我package.json文件中的依赖项,因为它不在NPM中.
在本地与工头和Procfile一起运行(就像heroku的文档说的那样)工作得很好.但是,当我需要一个本地文件时,我很困惑为什么它会给我一个错误.config.js与我的目录级别相同app.js,因此要求它的路径是正确的.
编辑:下面是我使用的代码部分app.js:
var express = require('express')
, sys = require('sys')
, request = require('request')
, config = require('./config')
Run Code Online (Sandbox Code Playgroud)
谢谢 - 任何帮助将不胜感激!
小智 15
因为你把config.js文件放在你的文件中.gitignore没有被推送到Heroku服务器,就像你说的那样.对于您想要做的事情,您通常会使用Heroku的配置变量来设置环境变量,然后由您的应用程序读取:
$ heroku config:add TWITTER_TOKEN=<token> TWITTER_SECRET=<secret>
Run Code Online (Sandbox Code Playgroud)
然后在您的app.js文件中,您可以访问以下环境变量:
var token = process.env['TWITTER_TOKEN'];
var secret = process.env['TWITTER_SECRET'];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3487 次 |
| 最近记录: |