Посредник asset_hash с угловым шаблономUrl

0

Я использую Middleman с параметром activate :asset_hash, чтобы скомпилировать активы с хэшем, чтобы заставить кэш недействительным. Проблема в том, что я также загружаю некоторые html-шаблоны с Angular templateUrl следующим образом:

function($routeProvider) {
    $routeProvider.
        when('/dashboard', {
            templateUrl: 'templates/dashboard.html',
....

но файл dashboard скомпилируется с хешем, например, с templates/dashboard-cc1554f0.html и поэтому Angular не находит файл.

Есть ли способ передать в Угловом файле тот же самый хэш, который создает Миддлэнт при сборке?

Теги:
middleman

1 ответ

0

Я должен сказать вам, что я не встречал эту проблему (все мои js, css и изображения хешированы, но html файлы не). Вот мой Gemfile

Gemfile

# If you do not have OpenSSL installed, update
# the following line to use "http://" instead
source 'https://ruby.taobao.org'

gem "middleman", "~>4.0.0"

# Live-reloading plugin
# gem "middleman-livereload", "~> 3.2.0"

# For faster file watcher updates on Windows:
gem "wdm", "~> 0.1.0", :platforms => [:mswin, :mingw]

# Windows does not come with time zone data
gem "tzinfo-data", platforms: [:mswin, :mingw, :jruby]

gem "middleman-minify-html"

gem "middleman-sprockets", "~> 4.0.0.rc"

И вот мой config.rb

config.rb

set :css_dir, 'css'

set :js_dir, 'app'

set :images_dir, 'images'

set :layout, false

# Build-specific configuration
configure :development do
  set :backend, 'http://localhost:3000'
  set :frontend, 'http://localhost:4567/#'
end

configure :build do
  set :backend, 'https://api.example.com'
  set :frontend, 'https://www.example.com/#'

  # For example, change the Compass output style for deployment
  activate :minify_css

  # Minify Javascript on build
  activate :minify_javascript

  # Minify HTML files on build, requires gem 'middleman-minify-html'
  activate :minify_html

  # Enable cache buster
  activate :asset_hash

  # gzip text files
  activate :gzip
end

Вы можете видеть, что я использую Middleman 4.0.

Если ваша проблема остается после обновления посредника, возможно, вы можете переименовать свой js файл в xxx.js.erb и попробовать помощник url_for.

  • 0
    Я пробовал url_for следующим образом: when('/dashboard', { templateUrl: '<%= url_for("templates/dashboard.html") %>' но он не принял во внимание хэш ресурса

Ещё вопросы

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