загрузка страницы специфического JavaScript перед угловым в рельсах

0

Я работаю над Rails/Angular. Существуют тематические папки под app/themes которые добавляются в конвейер активов.

конфиг/Инициализаторы/assets.rb

Dir[Rails.root.join("app", "themes", "*")].each do |path|
  %w{stylesheets javascripts images fonts}.each do |type|
    theme_assets = File.join(path, type)
    Rails.application.config.assets.paths << theme_assets
  end
  theme_folder = File.basename(path)
  Dir["#{path}/images/*"].each do |img|
    Rails.application.config.assets.precompile += [ File.basename(img) ]
  end
  Rails.application.config.assets.precompile += [ "#{theme_folder}/index.css",
                                                  "#{theme_folder}/index.js" ]
end

Там также

Rails.application.config.assets.precompile += ["angular_vendor.js"]

который загружает углы от app/assets/javascripts

Специфичный для JavaScript javascript в app/themes/#{theme_folder} загружается до углового.

У меня есть некоторый угловой код, который я хочу запустить на этом javascript. Поэтому мне нужно, чтобы он загружался после углового.

  • 0
    Вы пытались добавить Rails.application.config.assets.precompile += "angular_vendor.js" в config/initializers/assets.rb
  • 0
    Или другой способ: Rails.application.config.assets.precompile += %w( angular_vendor.js )
Показать ещё 1 комментарий

1 ответ

0

Код не должен запускаться при загрузке (в зависимости от того, как вы его написали). Вы можете активировать его на событии, например, при подготовке документа.

Я не знаю, применимо ли это к вашему прецеденту, но, возможно, вы можете его инкапсулировать следующим образом:

var MyCode = (function () {
  function myFunc(){
  }

  function myFunc2(){
  }

  return {
    myFunc: myFunc,
    myFunc2: myFunc2
  }
}());

$(document).on('ready', function () {
  MyCode.myFunc();
  MyCode.myFunc2();
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню