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

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

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

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

Есть ли способ передать в Angular-файл тот же хеш, который Middleman генерирует при сборке?

1 ответ

Я должен сказать вам, что я не столкнулся с этой проблемой (все мои 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,

Другие вопросы по тегам