ruby on rails - Javascript资源在Heroku上编译错误
ruby on rails - Javascript Assets Compilation Error on Heroku
in my application.html.haml
=stylesheet_link_tag "application", :media => "all"
=javascript_include_tag "jquery-1.11.0.min"
=javascript_include_tag "jquery-ui-1.10.4.min"
=javascript_include_tag "angular.min"
=javascript_include_tag "angular-route.min"
=javascript_include_tag "angular-resource.min"
=javascript_include_tag "angular-ui-router.min"
这些js文件目前在我的app/assets/javascripts文件夹
当我将它部署到heroku时,我一直得到
3848+00:00 app[web.1]: 9: =stylesheet_link_tag "application", :media => "all"
2014-05-01T21:25:16.063849+00:00 app[web.1]: 10: =javascript_include_tag "jquery-1.11.0.min.js"
2014-05-01T21:25:16.063846+00:00 app[web.1]: ActionView::Template::Error (html5shiv.js isn't precompiled):
2014-05-01T21:25:15.995499+00:00 app[web.1]: Started GET "/" for 128.31.34.63 at 2014-05-01 21:25:15 +0000
2014-05-01T21:25:16.051098+00:00 app[web.1]: Rendered home/index.html.haml within layouts/application (10.3ms)
2014-05-01T21:25:16.063843+00:00 app[web.1]:
2014-05-01T21:25:16.063851+00:00 app[web.1]: 11: =javascript_include_tag "jquery-ui-1.10.4.min.js"
2014-05-01T21:25:16.063853+00:00 app[web.1]: 12: =javascript_include_tag "html5shiv.js"
2014-05-01T21:25:16.063854+00:00 app[web.1]: 13: =javascript_include_tag "angular.min.js"
2014-05-01T21:25:16.063858+00:00 app[web.1]: 15: =javascript_include_tag "angular-resource.min.js"
2014-05-01T21:25:16.063856+00:00 app[web.1]: 14: =javascript_include_tag "angular-route.min.js"
2014-05-01T21:25:16.063860+00:00 app[web.1]: app/views/layouts/application.html.haml:12:in `_app_views_layouts_application_html_haml___1963393475950734090_70074639367120'
我一直得到资产编译错误。我应该在我的application.js中要求它们吗?在application.js中我有这些
//= require jquery_ujs
//= require bootstrap
//= require_tree .
我把这个添加到我的config/environments/production.rb
config.assets.precompile += %w(email.css event_creation_dynamic_form.js jquery-1.11.0.min.js jquery-ui-1.10.4.min.js angular.min.js angular-route.min.js)
这对我来说并不适用。我不太熟悉rails中的资产管道和heroku资产管道是如何工作的。我也试过运行
heroku run rake assets:precompile
也我的javascript文件都是缩小版本。我希望这是生产的正确版本。我是否正确使用了js include标签?
看起来Heroku已经很方便地告诉了你问题所在:
ActionView::Template::Error (html5shiv.js isn't precompiled)
所以你需要把这个文件添加到预编译数组中,像这样:
config.assets.precompile += %w(html5shiv.js, any-other-files-here)
话虽如此,回答你的问题,不,你没有真正使用js包括标签正确。
你应该把这些js文件包含在application.js中。这样,这些文件将与application.js一起被预编译,并且您不必将它们添加到预编译路径中。例如,在application.js中:
//= require path/to/jquery-1.11.0.min.js
//= require path/to/jquery-ui-1.10.4.min.js
//= require path/to/angular.min.js
//= require path/to/angular-route.min.js
//= require path/to/angular-resource.min.js
//= require path/to/angular-ui-router.min.js
相关文章:
- AngularJS指令出错-无法读取属性'编译'的未定义
- 如何使用ViewCompiler手动编译DOM的一部分
- 预编译的车把模板使文件大小加倍
- Mocha react本地路由器编译错误
- Babel编译错误:找不到模块核心js/library/fn/get迭代器
- nodejs和heroku:抛出新错误(setHeader()需要“名称”和“值”');
- Rails:如何获取当前用户'使用Heroku时的时区
- gmap4rails在本地工作,但没有;不要出现在heroku上
- 在编译阶段后创建新的DOM树,或者继续使用原始修改的DOM
- 如何在Windows中将Javascript文件编译成二进制文件
- Javascript库创建类似heroku仪表板的应用程序
- Rails 4资产管道Heroku生产javascript参考问题
- 浏览器是否持久缓存脚本元素的编译版本
- GWT:有没有一种方法可以修改GWT在编译中使用的Cast.java文件
- 使用脚本#编译代码(独立)
- 是否可以使用有角度的HTML文档进行$编译
- rails 预编译 为什么 javascript 在本地不起作用,但在 heroku 它可以工作
- Rails ckeditor gem js在Heroku产品上预编译时出现错误
- ruby on rails - Javascript资源在Heroku上编译错误
- Ruby on rails - heroku预编译错误javascript使用.的循环