Посредник 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
,