Нет необходимости заглушки, вам просто нужно правильно настроить пути к активам. Чтобы воспользоваться преимуществами интеграции Sprockets в 0.8.0 и более поздних версиях, лучший способ настроить файл jasmine.yml будет выглядеть так:
src_dir: app/assets/javascripts
asset_paths:
- lib/assets/javascripts
src_files:
- "**/*"
Это настроит Sprockets для поиска в app/assets/javascripts
и lib/assets/javascripts
и скажет jasmine-headless-webkit вытянуть все возможные файлы в обоих каталогах. Обычный файл, который требует Жасмин, в этом случае не будет использоваться, только звездочки.
Затем настройте свои require
операторы, как обычно в файлах JS. Итак, в application.js.coffee:
#= require jquery-1.6.4
#= require avia
#= require underscore
#= require backbone
#= require jquery.jqGrid.min
#= require_tree .
alert "Look, Internet codes!"
А в avia_view.js.coffee
:
#= require views/avia_view_template.jst.hamljs
class window.AviaView extends Backbone.View
template: JST['views/avia_view_template']
... code ...
Конечно, эти .hamljs
шаблоны не будут загружены, если не загружен процессор Haml с поддержкой Sprockets. Итак, вы хотели бы иметь Gemfile, в котором есть по крайней мере это:
gem 'jasmine-headless-webkit'
gem 'haml-sprockets'
# also bring in backbone and jquery
gem 'jquery-rails'
gem 'backbone-rails'
Тогда, если ваше приложение само знает, что делать, когда загружаются эти продаваемые гемы JS, вы можете избавиться от собственных копий jQuery и Backbone, и у вас также будут доступны шаблоны .hamljs
. В этот момент вы должны запустить с помощью Bundler:
bundle exec jasmine-headless-webkit
И последнее, лучший способ убедиться, что все загружается, - это использовать опцию списка:
bundle exec jasmine-headless-webkit -l
Это будет запускать все через загрузчики файлов JHW и Sprockets и распечатывать порядок файлов, которые будут включены. Это поможет диагностировать проблемы require
, так как вам всегда приходится иметь дело как с загрузкой в стиле Jasmine, так и в стиле Sprockets в одном сценарии. Настройка полностью загружаемых файлов src через Sprockets значительно упрощает процесс, поэтому я бы порекомендовал такую настройку.