在Heroku上的我的Sinatra应用程序中的Javascript文件404'ing

时间:2013-06-05 12:33:52

标签: javascript heroku sinatra

我一直在与Sinatra开发一个小应用程序。本地它工作正常,但当我部署Heroku我的JavaScript路径似乎打破了,我不知道是什么原因造成的。

我的目录设置是我的应用程序根目录中有一个“assets”文件夹,其中包含脚本和样式的单独文件夹。 scripts文件夹有几个子目录。我使用以下方法在Sinatra中设置了我的公共文件夹:

set :public_folder, __DIR__ + '/assets'

我的风格工作正常,我在问题是什么。另外值得注意的是我使用requirejs来加载我的JavaScript。

以下是控制台的输出:

GET http://evening-hamlet-5644.herokuapp.com/scripts/utils/libraries/jquery.js 404 (Not Found) require.min.js:1884
GET http://evening-hamlet-5644.herokuapp.com/scripts/utils/templating/hogan.js 404 (Not Found) require.min.js:1884
2
Uncaught Error: Script error
http://requirejs.org/docs/errors.html#scripterror require.min.js:194
GET http://evening-hamlet-5644.herokuapp.com/scripts/utils/libraries/lodash.js 404 (Not Found) require.min.js:1884
Uncaught Error: Script error
http://requirejs.org/docs/errors.html#scripterror require.min.js:194
GET http://evening-hamlet-5644.herokuapp.com/scripts/utils/libraries/pusher.js 404 (Not Found) require.min.js:1884
Uncaught Error: Script error
http://requirejs.org/docs/errors.html#scripterror 

任何帮助或朝正确方向踢的都会很棒。

由于

3 个答案:

答案 0 :(得分:3)

您可以运行带有heroku工具带的控制台(类似heroku run bash --app <your app name>),并验证您是否有JS文件。

问候!

答案 1 :(得分:0)

我不是Sinatra黑客,但我在他们的文档中找不到任何 DIR 。尝试将 DIR 设置为 File.dirname(__FILE__),我看到了in their docs

答案 2 :(得分:0)

如果您发布了呈现javascript文件链接的Sinatra代码(例如haml视图等),这将有所帮助。

但是,如果没有代码,我觉得可能是因为您应该使用Sinatra's url helper。如果不是这样,并且您发布了代码,我将再看看。